Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

Re: WideString-Dateinamen an Shellexecute übergeben

  Alt 28. Jul 2006, 12:30
Für die, die es mal brauchen, wo wirklich ein anderer Type verlangt wird, also man zur Verfügung hat:

entweder über 'ne Zwischenvariable, oder einfach konvertieren


Delphi-Quellcode:
Var MyStringW, W: WideString;
  MyStringA, A: AnsiString{String};

Procedure TestFunc (InPut: PAnsiChar{PChar}) External ... 'TestFuncA';
Procedure TestFuncA(InPut: PAnsiChar{PChar}) External ... 'TestFuncA';
Procedure TestFuncW(InPut: PWideChar) External ... 'TestFuncW';

W := MyStringA;
TestFuncW(PWideChar(W));

A := MyStringW;
TestFunc(PChar(A));
TestFuncA(PAnsiChar(A));

TestFuncW(PWideChar(WideString(MyStringA)));

TestFunc(PChar(String(MyStringW)));
TestFuncA(PAnsiChar(AnsiString(MyStringW)));
Ansonsten macht es sich natürlich nicht schlwecht, wenn man die passende API verwendet
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat