Ich war mal wieder zu voreilig.
Der Rückgabewert war 2, also "Datei nicht gefunden"
Ich hab mir dann mal angesehen welcher Dateiname als Parameter übergeben wird und festgestellt, dass der String abgeschnitten war beim Leerzeichen.
Beim Hinterlegen hab ich jetzt den Param-Str in Anführungszeichen gesetzt und voilá...es funktioniert
Ich verwende keine Konstante, weil das ShellExecute in der Project-Datei ausgeführt wird und ich so in der uses-Klausel extra Windows reinpacken müsste.
Weiß zwar nicht ob das dann nachher nen Unterschied macht, aber 1 ist ja das Äquivalent von SW_SHOWNORMAL.
Jetzt sieht der Aufruf so aus:
Delphi-Quellcode:
ShellExecute(Application.Handle,
'open',
PChar(ParamStr(1)),
nil,
PChar(ExtractFilepath(ParamStr(1))),
5);