Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   String Übergabe an DLL (https://www.delphipraxis.net/174572-string-uebergabe-dll.html)

Andidreas 29. Apr 2013 16:41

Delphi-Version: 5

String Übergabe an DLL
 
Hallo zusammen,

ich habe gerade das folgende Problem...
Ich habe eine DLL die den Druck von Etiketten übernimmt. An diese Datei wird unter anderem als String Wert eine Pfad Angabe übergeben (Speicherort der Layout Datei).
Die DLL habe ich als letztes mit dem RAD Studio XE erstellt.

Die DLL wird von einem Programm aufgerufen das ebenfalls mit dem RAD Studio XE aufgerufen wird, hier funktioniert alles wunderbar.

Die DLL wird aber auch noch von einem Programm aufgerufen, welches mit der Delphi Version 2007 entwickelt wurde. Hier wird in der DLL die Pfad angabe auf einmal in asiatischen Schriftzeichen angezeigt...

Hat jemand eine Idee woran das liegt und wie ich das Problem in den Griff bekomme?
Wie gesagt, es werden ausschließlich String Variablen verwendet...

Bummi 29. Apr 2013 16:59

AW: String Übergabe an DLL
 
Den Hinweistext beim Erstellen von DLL's der als Kommentar oben eingefügt wird kennst Du?
Bei 2007 <> XE triffst Du dann zusätzlich auf die AnsiString<>Unicode Problematik.

DeddyH 29. Apr 2013 17:44

AW: String Übergabe an DLL
 
Mach doch einfach jeweils 2 Varianten, eine für Ansi und eine für Unicode.
Delphi-Quellcode:
procedure SomeProcA(APath: PAnsiChar);
procedure SomeProcW(APath: PWideChar);
In einer Wrapper-Unit kannst Du das dann auf die jeweils passende Variante linken.
Delphi-Quellcode:
procedure SomeProc(APath: PChar); external DeineDLL name {$IFDEF UNICODE}'SomeProcW'{$ELSE}'SomeProcA'{$ENDIF};


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz