Ich möchte eine dll in Delphi benutzen bei der die Funktionsbeschreibung in VC++ existiert. Folgende Funktion bereitet mir dabei Probleme:
Folgende Funktion:
Aus der *.h-Datei
PCIDIO_API BOOL pcidioGetSummeryOfAllBoards(PCIDIO_SUMMERY *SummeryBuffer);
Es wird ein Zeiger auf einen Datenpuffer übergeben der au ein Datenarray vom Typ PCIDIO_Summery zeigt. Der Datenpuffer sollte 4 Kartenübersichten aufnehmen können.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Typdef struct PCIDIO_SUMMERYSummerybuffer { Pcidio_handle hPcidiohandle; Byte BoardIndex; Byte Slotnumber; Byte BusNumber; Byte BoardAdressJumper; Dword BoardIOAdress; }
Pcidio_summery l_SummeryBuff[4]; Bool l_bReturnValue; |
Aufruf innerhalb des Programms:
C#-Quelltext
1:
| L_breturnValue = pcidioGetSummeryOfAllBoards(l_SummeryBuffer); |
Nun in Delphi:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| Type PCIDIO_SUMMERYSummerybuffer = packed Record; Pcidio_handle : thandle; BoardIndex : byte; Slotnumber : byte; BusNumber : byte; BoardAdressJumper : byte; BoardIOAdress; : dword; End;
Var Summerybuffer : array[1..4] of PCIDIO_SUMMERYSummerybuffer
Function pcidioGetSummeryOfAllBoards():boolean; Stdcall; external ‚pcidio.dll‘; |
Aufruf im Programm:
Delphi-Quelltext
1:
| L_bReturnValue:=pcidiogetSummeryOfAllBoards(Summerybuffer); |
Mein Problem ist die Deklaration der Funktion und der eigentliche Funktionsaufruf. Kann mir jemand weiterhelfen?
Moderiert von Narses: Topic aus VCL (Visual Component Library) verschoben am Mo 28.05.2012 um 19:17