![]() |
WideString-Dateinamen an Shellexecute übergeben
Hallo,
ich renne mal wieder vor die TypeCast-Wand des BCB. Es gelingt mir nicht, ShellExecute einen Dateinamen zum öffnen zu übergeben. Der Dateiname kommt als Widestring an. Eigentlich kann das doch nicht so schwer sein.... :cry: Hat jemand einen Tipp? Grüße, Messie |
Re: WideString-Dateinamen an Shellexecute übergeben
ShellExecuteW
:) EDIT: Da hat der BCB aber verdammt recht, wenn er dich den Widestring in Shellexecute(A) quetschen lassen würde, hättest du einen wunderbaren fehler in deinem Code, der die App komplett lahmlegt, aber ewig zum finden braucht... ;) |
Re: WideString-Dateinamen an Shellexecute übergeben
Zitat:
Danke, Messie |
Re: WideString-Dateinamen an Shellexecute übergeben
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:
Ansonsten macht es sich natürlich nicht schlwecht, wenn man die passende API verwendet :roll:
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))); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz