Autor Beitrag
FrankKaden
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 27.01.17 14:42 
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:
ausblenden 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'),
              nilnil, 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 user profile iconNarses: Delphi-Tags hinzugefügt
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 27.01.17 15:03 
Herzlich Willkommen.
Google (Suche bei Google DELPHI SHELLEXECUTE) liefert gleich als ersten Treffer den richtigen Tipp.
Dein zweites Nil musst du durch das Arbeitsverzeichnis ersetzen.
FrankKaden Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 27.01.17 15:59 
Hallo jasocul,

vielen Dank für die schnelle Antwort.
Klasse, ja so funktioniert es.

VG
Frank