Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Funktion aus DLL einbinden

  Alt 22. Aug 2016, 15:39
Ich habe damals auch immer den konkreten Typ verwendet (nachdem ich es gelernt hatte), weil das andere nun einmal ein Metatyp war und ist. Das ist ja nicht neu, sondern war damals auch schon so.
Sich darauf zu verlassen, dass der immer auf Ansi zeigt, war da auch schon falsch.

Ob PChar später wirklich Unicode wird, war natürlich nicht klar (war aber zu vermuten aus dem Delphiquelltext heraus), aber klar war, dass PAnsiChar und PWideChar bereits exakt definiert waren und heute ja weiter sind...

Und wenn man mal in den Quelltext von Delphi 4 (!) schaut, da gab es die Unterscheidung ja auch schon...
Delphi-Quellcode:
function GetCommandLineA; external kernel32 name 'GetCommandLineA';
function GetCommandLineW; external kernel32 name 'GetCommandLineW';
function GetCommandLine; external kernel32 name 'GetCommandLineA';
Wenn man das dann damals aus Unwissenheit anders gemacht hat, ist das ja in Ordnung. Aber zu sagen, dass es korrekt war, finde ich nicht richtig. Unwissenheit schützt vor Strafe bzw. hier Problemen nicht.

// EDIT:
Der Quellcode ist entstanden, als man bei Delphi noch nicht mal wusste, was Unicode überhaupt ist.
Das ist schlicht falsch. Da brauchst du nur in die alten Delphiversionen schauen. Nur weil der Stringtyp in Delphi nicht Unicode war, heißt das noch lange nicht, dass es kein Unicode gab. PWideChar konntest du da problemlos verwenden um die Unicodefunktionen aufzurufen.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (22. Aug 2016 um 15:43 Uhr)
  Mit Zitat antworten Zitat