Also ersteinmal vielen lieben Dank für eure ganzen Tipps.
meine Prozedur sieht jetzt so aus:
Code:
procedure TForm5.pnlUpdateMessageClick(Sender: TObject);
var
ExecResult: Integer;
begin
try
ExecResult := ShellExecute(0, 'open', 'cmd', PChar('/c ' + ExtractFilePath(ParamStr(0) + '_DELETE_COPY_EXECUTE.bat')), nil, SW_SHOWNORMAL);
ShowMessage(IntToStr(ExecResult));
except
ShowMessage('Fehler');
end;
end;
Leider funktioniert es immer noch nicht.
@Klaus01
Der Rückgabewert beträgt 42.
@Moombas
Ich möchte später mein eigenes Programm schließen, die alte exe löschen, eine neue exe in den Ordner kopieren und anschließend wieder ausführen lassen.
Deswegen hatte ich mir gedacht, dass ich das ganze in eine batch-Datei auslagere und schon mal mit einfachen Textdateien diesen Vorgang übe.^^