Hallo zusammen,
folgendes Problem stellt sich:
Es gibt einen Pfad O:\Oberstufe_1
darin befinden sich eine Datei Abitur1.exe und viele weitere XML-Dateien.
und es gibt einen Pfad O:\Obertsufe_2
darin liegen die Dateien Abitur2.exe und ebenfalls viele weitere XML-Dateien.
Ich habe ein kleines Delphi-Programm geschrieben, das die Dateien Abitur1.exe und
Abitur2.exe startet. Das klappt soweit. Mein Delphi-Programm befindet sich im Pfad O:\Projekt.
Die beiden Dateien Abitur1.exe und Abitur2.Exe öffnen ihrerseits aber über ein
eigenes Auswahl-Menü die XML-Dateien. Diese beiden EXE-Dateien stammen nicht von mir.
Startet man die beiden EXE-Dateien "per Hand" direkt im Pfad O:\Oberstufe_1 funktioniert auch das.
Führe ich aber mein Delphi-Programm im Pfad O:\Projekt aus,
dann werden zwar die EXE-Dateien ausgeführt, auch die Auswahl einer XML-Datei im Auswahlmenü erfolgt
noch, jedoch wird die XML-Datei nicht geöffnet. Es erscheint sogar eine Fehlermeldung der
EXE-Datei, dass die zugehörige XML-Datei nicht vorhanden ist.
Kopiere ich mein Delphi-Programm in den Pfad O:\Oberstufe_1 hinein, funktioniert allerdings alles
wie gewünscht. Ich möchte aber das Delphi-Programm nicht in beiden Oberstufen-Pfade legen.
Der Quellcode des Dateiaufrufs in meinem Delphi-Programm lautet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure Tfauswahl.labi_extern11Click(Sender: TObject); begin ShellExecute(Application.Handle, 'open', PChar('O:\Oberstufe_11\Abitur1.exe'), nil, nil, SW_ShowNormal); end; |
Wie kann ich dem ShellExecute-Prozess beibringen, dass der Arbeitspfad
für diese Datei O:\Oberstufe_1 heißt.
So richtig begreife ich aber den hier auftretenden Fehler nicht.
Habt Ihr einen Tipp für mich?
VG
Frank
Moderiert von Narses: Delphi-Tags hinzugefügt