Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ShellExecute mit Variable funktioniert nicht (https://www.delphipraxis.net/37970-shellexecute-mit-variable-funktioniert-nicht.html)

fragme 13. Jan 2005 02:11


ShellExecute mit Variable funktioniert nicht
 
Hi Leutz,

bin ein blutiger Anfänger was Delphi Programmierung angeht, also nicht gleich schlagen ^^

Will eine Datei aus Delphi starten, mein Problem ist, wenn ich diese Datei aus einer Tabelle auslese funktioniert das ganze nicht mehr

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', 'datei.exe', nil, nil, SW_NORMAL); //funktioniert

ShellExecute(Application.Handle, 'open', PChar(Datei), nil, nil, SW_NORMAL);
//Wenn ich das ganze so schreibe öffnet der nur den Pfad
Gruß
fragme

kalmi01 13. Jan 2005 04:53

Re: ShellExecute mit Variable funktioniert nicht
 
Hi fragme,

Delphi-Quellcode:
uses ShellAPI;

ShellExecute(0,
             Nil,
             PChar('Datei.exe'),
             Pchar(''),
             Pchar(''),
             SW_NORMAL);
geht definitiv.

Haste schon mal mit dem Debugger gekuckt, was PChar(Datei) zur Laufzeit für einen Wert enthält ???

Zitat:

//Wenn ich das ganze so schreibe öffnet der nur den Pfad
Woher weißt Du, daß der Pfad geöffnet wird ?

Gruß
Michael

richard_boderich 13. Jan 2005 11:33

Re: ShellExecute mit Variable funktioniert nicht
 
habe das gleiche problem, bei mir geht ganz kurz ein dos consolenfenster auf und dat wars!
hatt jemand nen tip? :gruebel:

Tyrael Y. 13. Jan 2005 12:00

Re: ShellExecute mit Variable funktioniert nicht
 
Du bist dir sicher das Datei 'Datei.exe' zugewiesen wurde?

Delphi-Quellcode:
var
  Datei :String;
begin
...
 Datei := 'Datei.exe';
...
 if Datei <> '' then
   ShellExecute(Application.Handle, 'open', PChar(Datei), nil, nil, SW_NORMAL);
...

mfg

richard_boderich 13. Jan 2005 12:25

Re: ShellExecute mit Variable funktioniert nicht
 
dat muss wat anderes sein, bei mir geht auch die erste methode nicht!!

shellexecute(handle,'open',pchar('test.exe'),nil,n il,sw_shownormal); geht nicht

shellexecute(handle,'open','test.exe',nil,nil,sw_s hownormal); geht auch nich

richard_boderich 13. Jan 2005 12:34

Re: ShellExecute mit Variable funktioniert nicht
 
ok bei mir gehts jetz. mein problem war, das ich aus versehen, anstatt einer exe eine falsche
datei uebergeben habe (in meinem fall eine jpg bilddatei), die natürlich nicht ausgeführt werden konnte. :zwinker:

Nightshade 13. Jan 2005 12:38

Re: ShellExecute mit Variable funktioniert nicht
 
Gib doch mal den kompletten Pfad mit an...

fragme 13. Jan 2005 13:51

Re: ShellExecute mit Variable funktioniert nicht
 
ok, hab den Fahler gefunden, hatte Zeile und Spalte der Tabelle vertauscht und in der angegebenen Zelle stand natürlich nichts drin :roll:

Danke für die Hilfe !

mfg
fragme


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.

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