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 2 von 2     12   
Wheelie

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

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

  Alt 22. Feb 2004, 20:55
Zitat von DRPEnc:
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.
ich weiß nicht warum ihr euch das so unheimlich schwer macht du musst hier auch nix "einbinden" sondern einfach nur die o.g. eigenschaft des opendialogs im objektionspektor verändern!
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#12

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

  Alt 22. Feb 2004, 20:57
Zitat von DRPEnc:
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);
ich kenn jetzt das programm nicht, deswegen kann ich es auch nicht testen,
Aber eventuell braucht das programm das Ausführungsverzeichnis in den parametern von Shellexecute (wo bei Dir überall noch nil drin steht)

schau mal auf die verknüpfung auf dem Desktop, wie es gestartet wird, oder ob eventuell sogar parameter nötig sind.
  Mit Zitat antworten Zitat
DRPEnc

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

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 20:59
Ich kann es vom Ordner starten... Ich mach mal ne Verknüpfung...
Aus führen in
Code:
C:\DRP\decodefix100
steht bei der Verknüpfung. Soll ich den Pfad statt Nil angeben?

Delphi-Quellcode:
begin
ShellExecute(0, 'C:\DRPEncFiles\', PChar('C:\DRPEncFiles\DVD2AVIDRPEnc.exe'), 'C:\DRPEncFiles\', 'C:\DRPEncFiles\', SW_NORMAL);
end;
Bringt auch nichts ...
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#14

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:04
Code:
ShellExecute(0, Nil, PChar('makeAVIS.exe'), Nil, Nil, SW_NORMAL);
ich weiss zwar jetzt nicht, was Du genau startest.
Aber Du solltest wissen, dass Dein Aufruf

makeAVIS.exe immer in dem Pfad die EXE Datei sucht, welchen Du in einer Windows Verknüpfung eingetragen hast.

Wenn dort also ausführen in: s C:\ steht, dann wird c:\makeAVIS.exe gesucht.
Wenn Du die Exe direkt im Ordner doppel klickst, dann liefert 'makeAVIS.exe' zufällig den richtigen Pfad.
Auch unter Delphi.
Du solltest also immer paramstr(0) verwenden. bzw ExtractFilepath(paramstr(0));
aufpassen auch bei der Funktion GetCurrentDir, die liefert auch das Verzeichnis, was in der Verknüpfung eingetragen ist.
  Mit Zitat antworten Zitat
DRPEnc

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

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:05
ShellExecute(0, Nil, PChar('C:\DRPEncFiles\DVD2AVIDRPEnc.exe'), Nil, Nil, SW_NORMAL); ... darum gehts jetzt. makeAVIS läuft nun. DVD2AVIDRPEnc.exe aber nicht...
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#16

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:06
Delphi-Quellcode:
begin
ShellExecute(0, 'C:\DRPEncFiles\', PChar('C:\DRPEncFiles\DVD2AVIDRPEnc.exe'), 'C:\DRPEncFiles\', 'C:\DRPEncFiles\', SW_NORMAL);
end;


ich würde Dich bitten, die Aufrufkonvention von Shellexecute nochmal genauer zu studieren, und nicht einfach wild was eintragen, in der Hoffnung, dass es funktioniert

siehe Bild ..
Miniaturansicht angehängter Grafiken
shell.png  
  Mit Zitat antworten Zitat
DRPEnc

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

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:12
Sorry, bin Anfänger ...

Damit gehts auch nicht:

Delphi-Quellcode:
function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal;
var
  sui : TStartupInfo;
  pi : TProcessInformation;
begin
  Result := Cardinal($FFFFFFFF);
  ZeroMemory(@sui,sizeof(TStartupInfo)); sui.cb := SizeOf(TStartupInfo);
                                         sui.dwFlags := STARTF_USESHOWWINDOW;
                                         sui.wShowWindow := CmdShow;

  if(CreateProcess(nil,pchar(Cmd),nil,nil,False,NORMAL_PRIORITY_CLASS,nil,nil,sui,pi)) then
    begin
      WaitForInputIdle(pi.hProcess, INFINITE);
      if(WaitForSingleObject(pi.hProcess, INFINITE) = WAIT_OBJECT_0) then
        begin
          {$IFDEF DELPHI3}
          if not GetExitCodeProcess(pi.hProcess, Integer(Result)) then
          {$ELSE}
          if not GetExitCodeProcess(pi.hProcess, Result) then
          {$ENDIF DELPHI3}
            Result := Cardinal($FFFFFFFF);
        end;
      CloseHandle(pi.hThread);
      CloseHandle(pi.hProcess);
    end;
end;

procedure TForm6.GroupBox3Click(Sender: TObject);
var ChildExitCode: Cardinal;
begin
  ChildExitCode := WinExec32AndWait('"C:\DRPEncFiles\DVD2AVIDRPEnc.exe"', SW_NORMAL);
  if ChildExitCode = $FFFFFFFF then
     ShowMessage('Delphi 6 konnte nicht gestartet werden.');
end;
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#18

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:19
Es muss gehen !

Guck Dir bitte nochmal die Parameter an, mit der die Exe gestartet werden muss eventuell !
funktioniert denn ein einfacher doppelklick auf diese Exe Datei ?
probier mal das hier:


Code:
procedure starten;
var pfad : string;
    cmd, par, fil, dir: PChar;
begin
pfad := 'C:\DRPEncFiles\DVD2AVIDRPEnc.exe';

 if fileexists (pfad) then
   begin

     cmd := PChar('open');
     fil := PChar(pfad);
     par := nil;
     Dir := PCHAR(  ExtractfilePath(pfad) );
     Shellexecute(0, cmd, fil, par, dir, SW_SHOWNORMAL);
   end else
   showmessage('Datei nicht vorhanden !');
end;
  Mit Zitat antworten Zitat
DRPEnc

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

Re: ShellExecute startet das Programm nicht...

  Alt 22. Feb 2004, 21:24
Nun läuft alles... hatte den Button mit dem Befehl nicht verknüpft. Mir ist irgendwie Groupbox.Click untergekommen
CU

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


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 02:17 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