Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Neutral General,
22. Aug 2016
Ich glaube ihr redet mindestens zu 50% aneinander vorbei.
jaenicke sagt nur, dass PChar + ShellexecuteA + Delphi 2009 oder höher in die Hose geht.
Und da hat er Recht. Da gibt es nichts dran zu diskutieren.
Ob mans nun mit Compilerschaltern richtig macht oder explizit PAnsiChar + ShellexecuteA bzw. PWideChar + ShellexecuteW benutzt ist letztendlich ja mehr oder weniger egal.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Neutral General,
22. Aug 2016
Alternativ zu dem was Luckie gepostet hat (dynamische Bindung) gibt es noch die etwas weniger aufwendigere statische Bindung:
function Shellexecute(hWnd: HWND; Operation, FileName, Directory: PChar; ShowCmd: Integer): HINST; stdcall; external 'shell32.dll' name 'ShellExecuteA';
procedure TForm1.Button1Click(Sender: TObject);
begin
Shellexecute(Form1.Handle, 'open', 'Notepad.exe', nil,...