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 Problem zu ShellExecute (https://www.delphipraxis.net/56425-problem-zu-shellexecute.html)

zecke 5. Nov 2005 13:25


Problem zu ShellExecute
 
:hi:

Nun ich habe einen Dateipfad und möchte die *.exe starten. Habe in der CodeLib einen Beitrag gefunden wie man ShellExecute anwendet und mit notepad.exe funktioniert das auch, aber mit einer anderen Exe (einfach zB "wurst.exe" anstelle von "meine.exe" oder einem ganzen Dateipfad (in der Form "C:\Dokumente und Einstellungen\Eigene Dateien\mettwurst\schmeckt\nicht.exe") bekomme ich es nicht zum laufen, also die exe wird nicht gestartet.

Kann mir jemand ein Beipsiel zeigen wie ich eine Echse per programmpfad aufrufen kann?

Folgendes habe ich schon erfolglos probiert:

Delphi-Quellcode:
...

b:=Daten.Pfad;
a:=PChar(b);

...

ShellExecute(Handle, nil, a, nil, nil, SW_SHOWNORMAL));

...
edit: fehler im befehl

3_of_8 5. Nov 2005 14:05

Re: Problem zu ShellExecute
 
Ja also so kann das nicht gehen: Die zweite Klammer bei ShellExecute muss weg.

Probiers mal so:

Delphi-Quellcode:
shellexecute(Handle,'open',PChar('C:/flump.exe'),nil,nil,SW_SHOWNORMAL);

ripper8472 5. Nov 2005 14:10

Re: Problem zu ShellExecute
 
zecke, was *genau* sagt der compiler? deine fehlerbeschreibung war quasi nonexistent.

3_of_8 5. Nov 2005 14:10

Re: Problem zu ShellExecute
 
Also mein Code oben funzt unter Delphi7 PE ohne Probleme.

zecke 5. Nov 2005 14:20

Re: Problem zu ShellExecute
 
Der Compiler selbst hat kein Problem, wenn ich das Programm ausführe bekomme ich beim Laden eines Eintrags den Runtime Error "I/O error 131" - mehr darf ich nicht erfahren :/

bei mir scheint das nicht zu funktionieren.

Delphi-Quellcode:
var a : PChar;
b : string;

...

b:=Daten.Pfad; // enthält den Pfad in Form von C:\pillepalle\blah.exe
a:=PChar(b);

...

shellexecute(Handle,'open',a,nil,nil,SW_SHOWNORMAL);

//oder

shellexecute(Handle,'open','a',nil,nil,SW_SHOWNORMAL);

//oder

shellexecute(Handle,'open', PChar(b),nil,nil,SW_SHOWNORMAL);
Beides will nicht.

ManuMF 5. Nov 2005 14:22

Re: Problem zu ShellExecute
 
Probiers mal ohne 'open'

Gruß,
ManuMF

zecke 5. Nov 2005 14:28

Re: Problem zu ShellExecute
 
Wenn ich das einfach weglasse bekomme ich die Compiler-Meldung: "Incompatible Types: 'Integer' and 'PAnsiChar'"

zecke 5. Nov 2005 14:35

Re: Problem zu ShellExecute
 
Sache erledigt! Es hat geklappt... es lag an mir und nicht an TEchnik wie in 99% alelr Fälle :mrgreen:. Den Fehler werde ich jetzt nicht verraten - das wäre zu peinlich :mrgreen:

edit: es hat übrigens mit
Delphi-Quellcode:
shellexecute(Handle, nil, a,nil,nil,SW_SHOWNORMAL);
geklappt

ManuMF 5. Nov 2005 14:37

Re: Problem zu ShellExecute
 
Sorry, das meinte ich natürlich. nil statt 'open'.

Gruß,
ManuMF

3_of_8 5. Nov 2005 14:50

Re: Problem zu ShellExecute
 
@Zecke: Na komm schon. Es gibt keine peinlichen Fehler!


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 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