Moin zusammen.
Ich habe derzeit einige Probleme mit ShellExexcute :
1)
Code:
procedure TfrmMain.OpenMedia(Media: String);
var
n : Integer;
sFile : String;
err : Integer;
begin
err := 63;
err := ShellExecute(
Handle, 'open', PChar(Media), nil, nil, SW_SHOWNORMAL);
if err <= 32 then ShowMessage(ShellExecuteErrMsg(err));
end;
obige Prozedur läuft ohne Probleme, Datei wird mit der dazugehörigen Anwendung geöffnet.
2)
Code:
procedure TfrmMain.OpenMediaWithApplication(Media, Application: String);
var
n : Integer;
sFile : String;
err : Integer;
begin
err := 63;
err := ShellExecute(
Handle, 'open', PChar(Application), PChar(Media), nil, SW_SHOWNORMAL);
if err <= 32 then ShowMessage(ShellExecuteErrMsg(err));
ShowMessage(IntToStr(err)); // <--- Rückgabewert ist 42
end;
Media :
M:\DB_MED\MediaFiles\Video\Incognito_JapanTour2012 .avi
übergebe ich die Anwendung, mit der die Datei (Media) geöffnet werden soll im ersten Parameter
und den Dateinamen im zweiten Parameter, bekomm' ich einen Rückgabewert von 42 (kein Fehler),
der Dateiname des zweiten Parameters scheint aber bei der Anwendung nicht anzukommen:
bsp. MediaPlayer oder VLC MediaPlayer --> beide können die Datei nicht öffnen, lt. Fehlermeldung
weist die Datei eine unbekannte Fehlermeldung auf (ist aber *.avi, mehrfach kontrolliert).
Media ist die gleiche Datei wie auch in der ersten Prozedur benutzt.
Weiß jemand Rat ?
BS : Win10 und Win7, beide 64Bit, gleiches Ergebnis.
Markus H.