Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: Bedenkliche Typumwandlung AnsiString in PWideChar
7. Apr 2017, 13:03
Was erwartet die DLL denn nun, einen PAnsiChar oder einen PWideChar? PChar ist ja nur ein Alias für den einen oder anderen Typen, je nach Delphi-Version.
[edit] Nach einer kurzen Recherche scheint es ANSI zu sein. Dann würde ich zunächst die Importdatei ändern:
IPS7Open (IPAdr : PAnsiChar; Rack : LongWord; Slot : LongWord; RxTimeout : LongWord; TxTimeout : LongWord ; ConnectTimeout : LongWord) : LongInt; stdcall; external 'IPS7LNK.DLL';
und dann den Aufruf:
Delphi-Quellcode:
var
IP: AnsiString;
IPvonAusserhalbEingelesen: String;
begin
//...
IP := AnsiString(IPvonAusserhalbEingelesen);
Connection.ref := IPS7Open( PAnsiChar( IP), Connection.Rack { ... } );
[/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
Geändert von DeddyH ( 7. Apr 2017 um 13:07 Uhr)
|