Hallo Forum,
ich muss eine dll nutzen, die unter anderem wie folgt aussieht.
Im Prinzip funktioniert die Arbeit mit der dll. Also die anderen Funktionen kann man nutzen und sie geben auch das richtige zurück.
Mein Problem ist, dass in VBA (wo ich Beispielcode habe) dieser Code funktionier:
Da man aber keinen VarPtr in VB.net nutzen kann, habe ich zwar Funktionen gefunden, die die Aufgabe übernehmen, die Funktionen arbeiten aber nicht mit den Struturen (sondern mit Objects/Integern/Short).
Kann mir einer sagen, wie das funktionieren kann?
Vielen Dank schon mal vorab
Tukuan
ich muss eine dll nutzen, die unter anderem wie folgt aussieht.
VB.NET-Quellcode
- Private Declare Function DWGetChannelList Lib "DWDataReaderLib_stdcall" Alias "_DWGetChannelList@4" (ByRef channel_list As DWChannel()) As DWStatus ' function returnes the list of stored channels
- Public Structure DWChannel ' structure for Dewesoft channel
- Public index As Integer ' unique channel identifier
- <MarshalAs(UnmanagedType.ByValArray, SizeConst:=100)>
- Public chName() As Char ' the name of a channel 'Name() is reserved, internal function
- <MarshalAs(UnmanagedType.ByValArray, SizeConst:=20)>
- Public unit() As Char ' the unit of a channel (value 20)
- <MarshalAs(UnmanagedType.ByValArray, SizeConst:=200)>
- Public description() As Char ' the description of a channel ( value 200)
- Public color As Integer ' specifies the color of a channel (unsigned int)
- Public array_size As Integer ' length of the array channel (normal array_size = 1)
- End Structure
Im Prinzip funktioniert die Arbeit mit der dll. Also die anderen Funktionen kann man nutzen und sie geben auch das richtige zurück.
Mein Problem ist, dass in VBA (wo ich Beispielcode habe) dieser Code funktionier:
Da man aber keinen VarPtr in VB.net nutzen kann, habe ich zwar Funktionen gefunden, die die Aufgabe übernehmen, die Funktionen arbeiten aber nicht mit den Struturen (sondern mit Objects/Integern/Short).
Kann mir einer sagen, wie das funktionieren kann?
Vielen Dank schon mal vorab
Tukuan