AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ShellExecute startet das Programm nicht...
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute startet das Programm nicht...

Ein Thema von DRPEnc · begonnen am 22. Feb 2004 · letzter Beitrag vom 22. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 18:54
Ich hab ein Problem! In meinem Programm kann man mit Opendialoge pfade bestimmen.
Sobald ich einen ausgeführt hatte kann ich folgenden Befehl:
ShellExecute(0, Nil, PChar('makeAVIS.exe'), Nil, Nil, SW_NORMAL); nicht mehr ausführen.

Wie kann ich die EXE trotzdem öffnen?
CU

DRPEnc
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#2

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

  Alt 22. Feb 2004, 19:09
Musst die Eigenschaft ofNoChangeDir des OpenDialogs True setzen:

OpenDialog1.Options.ofNoChangeDir := True;
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#3

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

  Alt 22. Feb 2004, 19:27
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.
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

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

  Alt 22. Feb 2004, 19:32
Verrat mir mal wie das gehen soll.

Du beendest das Programm und dann soll es noch was ausführen?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

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

  Alt 22. Feb 2004, 19:36
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:
ShellExecute(self.Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'datei.exe'), nil, nil, SW_SHOW); Chris
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

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

  Alt 22. Feb 2004, 19:37
Anstelle von

...ExtractFilePath(Application.ExeName)... ist es besser

ParamStr(0) zu verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

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

  Alt 22. Feb 2004, 19:39
@Chris,


seit wann kann ein geschlossenes Formular noch Code ausführen? Mit visible oder Hide ja aber net wenns zu ist.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

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

  Alt 22. Feb 2004, 19:57
Zitat von Matze:
Anstelle von

...ExtractFilePath(Application.ExeName)... ist es besser

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 () 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.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

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

  Alt 22. Feb 2004, 20:00


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

Sorry
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#10

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

  Alt 22. Feb 2004, 20:08
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...

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

DRPEnc
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 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