Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: c DLL char++ übersetzen

  Alt 15. Okt 2019, 15:43
Hallo,

ich wollte jetzt nicht den x ten Thread zur TSE Programmierung eröffnen und der Code der hier geschrieben wurde sieht schwer nach A-Trust aus
Bei mir sieht die ganze Sache komplett anders aus.

Delphi-Quellcode:
function TSE_readLogMessage(var logMessage: TBytes; var logMessageLength: LongWord): ShortInt; stdcall; external 'fremdedll.dllname 'readLogMessage';

...

procedure ReadLogMessage(BinFilename: String);
var
  res: ShortInt;
...
  res := TSE_readLogMessage(&log, &len);
...
end;
Es gibt ein C Beispiel mit header dateien, in diesen stehen negative Rückgabewerte für die Konstanten z.B -5001. Ich bekomme als Rückgabe entweder eine 0 oder z.B 116. Hat da jemand eine Idee?
Gehe noch mal in dich und prüfe, ob -5001 in den Wertebereich von ShortInt passen.
Dann überlege, ob der Typ des Rückgabewertes von TSE_readLogMessage passt.
Nur weil die Namen ähnlich sind short int und ShortInt muss es nicht zwangsläufig das selbe sein.

https://de.wikipedia.org/wiki/Datentypen_in_C
http://docwiki.embarcadero.com/RADSt...e_Integertypen
  Mit Zitat antworten Zitat