Autor Beitrag
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 17.08.03 18:34 
Hallo Leute,

ich habe ein kleines Problem beim importieren einer Funktion aus einer DLL.

Die Typen sind wie folgt definiert:
ausblenden 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..5of 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:
ausblenden 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
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 17.08.03 22:13 
  • Stimmt die Ausrichtung des Records mit dem der DLL überein?
  • Ist bei dwStep eine 0 erlaubt?
  • Funktioniert es, wenn du die Funktion aus einem C Programm heraus aufrufst?


Ohne die C-Header Datei kann man da recht wenig sagen.

_________________
Ist Zeit wirklich Geld?
Tino Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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