By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,538 Members | 869 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,538 IT Pros & Developers. It's quick & easy.

using c++ 6.0 DLL in VB.Net program, passing user defined Type

P: n/a
Hello,
I have an old C++ DLL that I am wishing to use in a VB.NET program.
Previously I had a VB6 program that would pass a Type to a DLL
function. For example, I would pass a variable of this Type in:

Public Type ListInfo ' structure to hold information about the list
file
FileIndex As Integer
filename(MAXNAME) As Byte
FileNum As Integer
FileIcon As Integer
End Type

I am writing a new VB.NET program that will use the same DLL that was
used by the VB6 program, but I have had to update the data type to be a
structure:

Public Structure ListInfo ' structure to hold information about
the list file
Dim FileIndex As Short
Dim filename() As Byte
Dim FileNum As Short
Dim FileIcon As Short
End Structure
'integers made Shorts b/c of Int size change

My DLL does not like the new data type. Does anyone know of a solution?

Jul 20 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
<ni**********@yahoo.comschrieb:
I have an old C++ DLL that I am wishing to use in a VB.NET program.
Previously I had a VB6 program that would pass a Type to a DLL
function. For example, I would pass a variable of this Type in:

Public Type ListInfo ' structure to hold information about the list
file
FileIndex As Integer
filename(MAXNAME) As Byte
FileNum As Integer
FileIcon As Integer
End Type

I am writing a new VB.NET program that will use the same DLL that was
used by the VB6 program, but I have had to update the data type to be a
structure:

Public Structure ListInfo ' structure to hold information about
the list file
Dim FileIndex As Short
Dim filename() As Byte
Dim FileNum As Short
Dim FileIcon As Short
End Structure
'integers made Shorts b/c of Int size change

My DLL does not like the new data type. Does anyone know of a solution?
\\\
Imports System.Runtime.InteropServices

Public Structure ListInfo
Public FileIndex As Short
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=MAXNAME)_
Public filename() As Byte
Public FileNum As Short
Public FileIcon As Short
End Structure
///

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>
Jul 20 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.