Entwickler-Ecke

Dateizugriff - Exe aus Programm aufrufen klappt nicht


del1312 - Di 25.05.10 12:25
Titel: Exe aus Programm aufrufen klappt nicht
Hi Leute,

ich möchte aus einem Programm eine exe aufrufen. Dazu hab ich das hier hinterlegt, aber so klappt es nicht:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0'open', (GetProgramPath + '\CNI\update.exe'), PChar(0), PChar(0), SW_SHOW);
close;
end;


so klappt es:


Delphi-Quelltext
1:
ShellExecute(0'open', C:\Programme\CNI\update.exe', PChar(0), PChar(0), SW_SHOW);                    


Da ich aber verschiedene Systeme hab, muss ich den Programm-Ordner-Pfad vorher ermitteln und dort einsetzen, leider klappt
das nicht so recht. Kann mir da einer auf die Sprünge helfen, was ich falsch mache? DANKE!


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Di 25.05.2010 um 16:32


Nersgatt - Di 25.05.10 12:30

Liefert "GetProgramPath" hinten ein "\" zurück, oder nicht? Im Debugger prüfen!


ALF - Di 25.05.10 12:30

Hi, wie man das richtig macht wurde hier schon oft gefragt und beantwortet!
Stichwort: shellexecute :wink:

Gruss Alf


del1312 - Di 25.05.10 12:42

ach man :oops: habs gefunden, danke für den hinweis. hab nur nen PCHAR vorgeschrieben und schon hats geklappt :D


Xentar - Di 25.05.10 15:18

user profile icondel1312 hat folgendes geschrieben Zum zitierten Posting springen:
hab nur nen PCHAR vorgeschrieben

Hätte das nicht schon der Compiler merken müssen? Wo wir wieder beim Problem der unvollständigen Fehlerangaben wären ;)


theo - Di 25.05.10 18:04

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
user profile icondel1312 hat folgendes geschrieben Zum zitierten Posting springen:
hab nur nen PCHAR vorgeschrieben

Hätte das nicht schon der Compiler merken müssen? Wo wir wieder beim Problem der unvollständigen Fehlerangaben wären ;)

Nein, da eine String-Konstante übergeben wurde und diese automatisch in PChar konvertiert wird.