Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit ShellExecute (https://www.delphipraxis.net/85229-problem-mit-shellexecute.html)

Gehstock 27. Jan 2007 17:47


Problem mit ShellExecute
 
also es soll ein programm gestartet werden welches noch 5 parameter bekommt

edit5 ist eine exe die mit allen anderen parametern zu einem programm zusammen gepackt wird
edit1-edit4 sind teile der fertigen datei
update.exe ist die ausgabe datei

also aufgerufen werden tut es so

Zitat:

scoutcreator.exe scout.exe teil1 teil2 teil3 teil4 Update.exe

edit 1-5 fülle ich mit einen open dialog das klappt
Delphi-Quellcode:
ShellExecute(handle,
                'open',
                PChar('scoutcreator.exe'),
                Pchar(' '+Edit5.Text+' '+Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text),
                Pchar('Update.exe'),
                SW_NORMAL);

turboPASCAL 27. Jan 2007 17:50

Re: Problem mit ShellExecute
 
Drück mal bei Delphi-Referenz durchsuchenShellExecute die F1-Taste und guck dir den vorletzten Parameter mal an.

thkerkmann 27. Jan 2007 17:53

Re: Problem mit ShellExecute
 
Hi,

der 5te Parameter im ShellExecute sollte nicht deine Ausgabedatei sein, sondern das Arbeitsverzeichnis der Anwendung die du startest. Also wirst du den Teil noch an den zusammengesetzten string anhängen müssen, und dort entweder dein Verzeichnis oder nil angeben müssen.

Delphi-Quellcode:
ShellExecute(handle,
                'open',
                PChar('scoutcreator.exe'),
                Pchar(' '+Edit5.Text+' '+Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text+' '+'update.exe'),
                PChar(Programmverzeichnis der scoutcreater.exe),
                SW_NORMAL);
Gruss

Gehstock 27. Jan 2007 18:09

Re: Problem mit ShellExecute
 
kann das dosfenster nicht offen bleiben damit ich seh was schiefgeht

Christian Seehase 27. Jan 2007 18:40

Re: Problem mit ShellExecute
 
Moin Gehstock,

Zitat:

Zitat von Gehstock
kann das dosfenster nicht offen bleiben damit ich seh was schiefgeht

dann solltest Du es so versuchen:

Delphi-Quellcode:
ShellExecute(handle,
                'open',
                PChar('cmd.exe'),
                Pchar('/k scoutcreator.exe '+Edit5.Text+' '+Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text+' '+'update.exe'),
                PChar(Programmverzeichnis der scoutcreater.exe),
                SW_NORMAL);
oder enthält eines der Edit-Felder einen Pfad mit Leerzeichen?

marabu 27. Jan 2007 18:43

Re: Problem mit ShellExecute
 
Hallo,

damit das DOS-Fenster offen bleibt, musst du auch eines öffnen. Dazu musst du deine ShellExecute-Parameter etwas umstellen. Starte nicht ScoutCreator sondern starte den command processor (steht in der environment variable COMSPEC) mit dem Parameter /K gefolgt von deiner Befehlszeile.

Grüße vom marabu

Gehstock 28. Jan 2007 14:21

Re: Problem mit ShellExecute
 
Zitat:

Zitat von Christian Seehase
oder enthält eines der Edit-Felder einen Pfad mit Leerzeichen?

ja sind leerzeichen drin gehts deswegen net?


danke funzt zur kontrolle hab ich umgestellt da das dos fenster nix anzeigt

Delphi-Quellcode:
strF:= '/k scoutcreator.exe '+Edit5.Text+' '+Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text+' '+'update.exe';
ShellExecute(handle,
                'open',
                PChar('cmd.exe'),
                Pchar(strF),
                PChar(nil),
                SW_NORMAL);
                memo1.Lines.add(strF);
End;

Edit geht jetzt wenn ich drauf achte das keine leerzeichen drinsind aber das muss auch mit gehen nur wie

Danke nochmal

halinchen 28. Jan 2007 15:35

Re: Problem mit ShellExecute
 
Wenn Leerzeichen drin sein sollen, musst du alles in Anführungszeichen schreiben:

cmd /k "C:\Mein Ort\Mein Prog.exe"

Und das für jeden Parameter (glaub ich, kannst du ja im Ausführen-Dialog von Windows testen)

halinchen

Gehstock 28. Jan 2007 18:25

Re: Problem mit ShellExecute
 
ja klappt Dankeschön


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz