Hallo Delphigemeinde,
Ich rufe über Shellexecute die Rar.exe, welche sich im Programmverzeichnis befindet auf. Irgendwo habe ich gelesen, das der Archivname inkl.Pfad, sofern dieser Leerzeichen enthält in " " eingeschlossen werden muss.
Folgenden Code habe ich :
Code:
// wenn als RAR gepackt werden soll, dann dies .....
if DLS.PACK = 'RAR' then begin
PATH := ExtractFilePath(ParamStr(0));
paramPack := ' a -r -ep1 ' + QuotedStr(frmDLS.JsListSenden.path + DLS.rarFileName)) + ' '+
frmDLS.JsListSenden.PATH +'temprar\*.*';
Showmessage(parampack);
Shellexecute(0, 'open', PChar(PATH + '\rar.exe'), PChar(paramPACK), nil, SW_SHOW);
end;
frmDLS.sBttnUnten.Click;
frmPackName.Close;
Showmessage ergibt folgende Anzeige :
a -r -ep1 'o:\Sendeverzeichnis\2012-03-27_dls_27123_schneider 20791 RHD.rar' o:\Sendeverzeichnis\temprar\*.*
D.h. QuotedStr() setzt ' statt ". Wie bekomme ich es nun hin, das folgendes in paramPack steht(da der Archivname Leerzeichen enthält) ?:
a -r -ep1 "o:\Sendeverzeichnis\2012-03-27_dls_27123_schneider 20791 RHD.rar" o:\Sendeverzeichnis\temprar\*.*