Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ShellExecute startet das Programm nicht... (https://www.delphipraxis.net/16740-shellexecute-startet-das-programm-nicht.html)

DRPEnc 22. Feb 2004 17:54


ShellExecute startet das Programm nicht...
 
Ich hab ein Problem! In meinem Programm kann man mit Opendialoge pfade bestimmen.
Sobald ich einen ausgeführt hatte kann ich folgenden Befehl:
Delphi-Quellcode:
ShellExecute(0, Nil, PChar('makeAVIS.exe'), Nil, Nil, SW_NORMAL);
nicht mehr ausführen.

Wie kann ich die EXE trotzdem öffnen?

Wheelie 22. Feb 2004 18:09

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Musst die Eigenschaft ofNoChangeDir des OpenDialogs True setzen:

Delphi-Quellcode:
OpenDialog1.Options.ofNoChangeDir := True;

DRPEnc 22. Feb 2004 18:27

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
lol und wie binde ichs ein... bekomme nur fehlermeldungen...

Delphi-Quellcode:
//Open supported files
procedure TForm6.Button3Click(Sender: TObject);
begin
If Not OpenDialog1.Execute Then Exit;

Close;
//Debug
form1.edit1.text:='  ' + '"' + OpenDialog1.FileName + '"'
//OpenDialog1.Options.ofNoChangeDir:= True;

end;
hmm oder ich kopier die exe nach C:\ im install programm. Somit kann ich den Pfad angeben.

Die Muhkuh 22. Feb 2004 18:32

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Verrat mir mal wie das gehen soll.

Du beendest das Programm und dann soll es noch was ausführen?

CalganX 22. Feb 2004 18:36

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Hi,
@Spider: dem Formularnamen nach, beendet er nicht das Programm, sondern nur ein Formular.

@DRPEnc:
Versuchs mal so:
Delphi-Quellcode:
OpenDialog1.Options := OpenDialog1.Options + [ofNoChangeDir];
if OpenDialog1.Execute then begin
  Form1.Edit1.Text := OpenDialog1.FileName;
  // hier kannst du dann noch was Ausführen oder so...
  Close;
end;
Ansonsten rate ich dir immer den gesamten Pfad anzugeben:
Delphi-Quellcode:
ShellExecute(self.Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'datei.exe'), nil, nil, SW_SHOW);
Chris

Matze 22. Feb 2004 18:37

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Anstelle von

Delphi-Quellcode:
...ExtractFilePath(Application.ExeName)...
ist es besser

Delphi-Quellcode:
ParamStr(0)
zu verwenden.

Die Muhkuh 22. Feb 2004 18:39

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
@Chris,


seit wann kann ein geschlossenes Formular noch Code ausführen? Mit visible oder Hide ja aber net wenns zu ist.

MathiasSimmack 22. Feb 2004 18:57

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Zitat:

Zitat von Matze
Anstelle von

Delphi-Quellcode:
...ExtractFilePath(Application.ExeName)...
ist es besser

Delphi-Quellcode:
ParamStr(0)
zu verwenden.

Willst du damit sagen: "ExtractFileName(Application.ExeName)" ist mit "paramstr(0)" identisch? Oder willst du darauf hinaus, dass man anstelle von "Application.ExeName" "paramstr(0)" nehmen soll? Ich tippe mal auf letzteres und halte dir vor, dass das das (:shock:) gleiche ist. Hinter "Application.ExeName" steckt auch bloß "paramstr(0)". Der Vorteil bei letzterem ist allerdings, dass du für nonVCL- und Konsolenprogramme nicht umdenken musst, weil es da ja das TApplication-Objekt nicht gibt.

Matze 22. Feb 2004 19:00

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
:duck:

Ich meinte das 2.
Ich habe hier mal gelesen, dass ParamStr(0) besser wäre, dann stimmt das wohl nicht. :oops:

Sorry

DRPEnc 22. Feb 2004 19:08

Re: Nach opendialog kein ShellExecute mehr... wieso?
 
Hmm k, ich hab einen festen Ordner nun, in dem sich die Exe befindet.
Nun will ich auch DVD2AVI durch mein app öffnen. Auch ne exe, nur öffnet sich die nicht obwohl ich den Pfad angegeben hatte...

Delphi-Quellcode:
ShellExecute(0, Nil, PChar('C:\DRPEncFiles\DVD2AVIDRPEnc.exe'), Nil, Nil, SW_NORMAL);


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.
Seite 1 von 2  1 2      

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