Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#14

AW: DLL Schnitstelle

  Alt 11. Jul 2020, 14:09
Zitat:
Übrigens: >>> Ich weis nicht wie oft du mit Delphi bisher gearbeitet hast. <<< Sei doch froh dass sich jemand in Delphi weiter entwinkeln versucht,
und unterstürze die noch nicht experten das verhilft Delphi zum weiteren überleben.
Entschuldige aber du hast es immer noch nicht verstanden.

Delphi-Quellcode:
function SeGetCertificationId(var CertificationId: PAnsiChar): TSeReturnCode;
var
  //PCertificationID: PAnsiChar; nicht nötig
  CertificationIDLength: Cardinal;
begin
  // PCertificationID := nil; nicht nötig
  CertificationIDLength:= 0;

  Result := TSeReturnCode(se_getCertificationID(CertificationId, CertificationIDLength));
end;
Vergleiche meinen und deinen Code.
Die Rückgabe ist PAnsiChar und nicht string. siehe (Wie oft habe ich das jetzt schon gesagt? )

Zitat:
Den folgendes wird aufgerufen:
function se_getCertificationId(var certificationId: PAnsiChar; certificationIdLength: Cardinal): Cardinal; cdecl; external 'se-api-c.dll';

Zitat:
// ////////////////// Das lässt sich so nicht kompilieren Venice2 Vorschlag!
Schon wenn man es richtig macht.
Ich sagte PAnsiChar aber du hast immer noch den String in deiner Funktion.
Und dieser Type muss gleich sein bei einem var Parameter.

Geändert von venice2 (11. Jul 2020 um 14:17 Uhr)
  Mit Zitat antworten Zitat