Tino - So 17.08.03 18:34
Titel: ERROR_INVALID_PARAMETER beim Aufruf einer DLL-Funktion
Hallo Leute,
ich habe ein kleines Problem beim importieren einer Funktion aus einer DLL.
Die Typen sind wie folgt definiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| type _TESTINFO = record dwValue1: ULONG; dwValue2: array [0..5] of ULONG; end; TESTINFO = _TESTINFO; PTESTINFO = ^TESTINFO; TTestInfo = TESTINFO;
function GetTestInfo (szFilePath: LPCWSTR; dwStep: DWORD; pInfo: PTESTINFO): UINT; stdcall; |
Ich habe die Funktion nun wie folgt aufgerufen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Var Info: TTestInfo; Begin FillChar (Info, SizeOf (Info), 0); GetTestInfo ('c:\test.exe', 0, @Info); |
Nach dem Aufruf bekomme ich allerdings als Funktionsergebnis
ERROR_INVALID_PARAMETER zurück.
Kann mir jemand helfen und mir sagen ob ich die Parameter (wahrscheinlich den Parameter Info) falsch übergebe.
Danke
Gruß
Tino
Tino - Mo 18.08.03 08:16
Hallo Andy!
| AndyB hat folgendes geschrieben: |
| Stimmt die Ausrichtung des Records mit dem der DLL überein? |
Der Delphi-Code der die Typen definiert ist nicht von mir sondern von dem Hersteller. Deshalb gehe ich davon aus das diese richtig definiert sind.
| AndyB hat folgendes geschrieben: |
| Ist bei dwStep eine 0 erlaubt? |
Ja.
| AndyB hat folgendes geschrieben: |
| Funktioniert es, wenn du die Funktion aus einem C Programm heraus aufrufst? |
Kann ich leider nicht testen. Aber die Funktion muss funktionieren da sie schon von anderen Programmierern benutzt wird.
Gruß
Tino