Thema: Delphi DLL-Parameter

Einzelnen Beitrag anzeigen

TomDooley

Registriert seit: 26. Jan 2004
124 Beiträge
 
#7

Re: DLL-Parameter

  Alt 12. Mai 2006, 14:14
Zitat:
Einfacher wäre es hier, einfach eine zweite Funktion in C einzuführen, die als Parameter kein Byte-Array (char *) annimmt, sondern einen Integer (oder ein Integer-Array).
Das kann ich leider nicht, da ich die DLL von extern bekommen habe. Hier nun mal ein Beispiel wie ich es jetzt gelöst habe:

Delphi-Quellcode:
//Definition in der DLL
long dllFunction(char* outParam[20], char* inoutParam[20], const char inParam[20]);

//Definition der Delphi-Function
delphiFunct(outParam PChar; inoutParam PChar; const inParam PChar) : integer; stdcall;
@delphiFunct := GetProcAddress(dll,'dllFunction');

//Meine Implementation
StrVar1, StrVar2, StrVar3 : String;
result := delphiFunct(PChar(StrVar1), PChar(StrVar2), PChar(StrVar3));
Ich entnehme der Definition, dass die C++ DLL Char-Arrays erwartet. Soll ich meine Implemenation so belassen oder meine Strings in Char-Arrays konvertieren und dann mit @CharArrVar1[0] etc. der Funktion übergeben?

Ist es egal ob ich eine Variable als PChar(StrVar1) oder als @StrVar1[1] übergebe?
  Mit Zitat antworten Zitat