Einzelnen Beitrag anzeigen

NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Probleme mit Datentypen bei einer DLL

  Alt 21. Jun 2012, 13:39
Nein, ich glaube du hast ihn falsch verstanden, du musst sozusagen, wie du die Funktion importierst ändern.
Delphi-Quellcode:
function xyzErrMsg ( errorCode : Word
) : String; stdcall; external xyzdll name 'ErrMsg';
zu:
Delphi-Quellcode:
function xyzErrMsg ( errorCode : Word
) : PAnsiChar; stdcall; external xyzdll name 'ErrMsg'; //Man verwendet ungern Strings, also den DatenTyp String von Delphi. PAnsiChar ist nur eine Adresse auf den Anfang eines Textes im Speicher.
Und um im Speicher zu wissen, wann er aufhört, setzt man ein 0 Byte (#0 in Char) am Ende.
D.h. wenn du auf den Datentyp PAnsiChar zugreifst, wird alles gelesen bis zum 0 Byte.
Gruß NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat