Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   problem obwohl nichts verändert - shellexecute (https://www.delphipraxis.net/167233-problem-obwohl-nichts-veraendert-shellexecute.html)

resyiii 19. Mär 2012 15:06

problem obwohl nichts verändert - shellexecute
 
folgenes problem:
hab so meine wehwehchen mit shellexecute gehabt, alles gelöst und auch das uses ding eingeft und alles,
dann ging auch alles so wie es sollte (snake sollte geöffnet werdn wenn man ein button drückt im hauptprogramm)

dann hatte ich versucht, noch was zu verändern,
hat nicht so geklapt, hab den teil wieder rausgelöscht aber jetzt öffnet snake selbst nicht mehr,
obwohl ich da garnix verändert hab.

ist hier irgendwetwas falsch?

Code:

var pfad: String;
begin
  Pfad:= 'K:\MeinSnake\snake.exe';

  ShellExecute(Handle, nil,PCHar(Pfad), nil, nil, SW_SHOW);
end;

oder woran könnte es noch liegen?

DeddyH 19. Mär 2012 15:33

AW: problem obwohl nichts verändert - shellexecute
 
Was gibt denn ShellExecute zurück?

p80286 19. Mär 2012 16:00

AW: problem obwohl nichts verändert - shellexecute
 
Und wo wird
Delphi-Quellcode:
Handle
definiert?
Bei Basic fällt so etwas immer vom Himmel (, und manchem auf die Füße).

Gruß
K-H

pmoegenb 19. Mär 2012 16:03

AW: problem obwohl nichts verändert - shellexecute
 
Ich denke, dass das Open fehlt.

Delphi-Quellcode:
var pfad: String;
begin
  Pfad:= 'K:\MeinSnake\snake.exe';

  ShellExecute(Handle, 'open',PCHar(Pfad), nil, nil, SW_SHOW);
end;

mkinzler 19. Mär 2012 16:24

AW: problem obwohl nichts verändert - shellexecute
 
Ich würde auch auf das Handle tippen. Übergib mal Nil

DeddyH 19. Mär 2012 16:26

AW: problem obwohl nichts verändert - shellexecute
 
Nicht nil, sondern 0. Außerdem hat ShellExecute wie bereits angedeutet einen Rückgabewert, der könnte auch interessant sein.

SirThornberry 19. Mär 2012 16:31

AW: problem obwohl nichts verändert - shellexecute
 
Aufgrund seines anderen Themas tippe ich darauf das ein fester Pfad verwendet wurde und das aufzurufende Programm somit nicht mehr gefunden wird.

DeddyH 19. Mär 2012 16:35

AW: problem obwohl nichts verändert - shellexecute
 
Das wäre dann wohl Rückgabewert 2 oder 3, aber der interessiert ja anscheinend nicht (oder ich schreibe irgendwie mit Geheimtinte).

mkinzler 19. Mär 2012 16:38

AW: problem obwohl nichts verändert - shellexecute
 
Nein nur wird, dass was man nicht versteht, von manchen weggefiltert

Zitat:

Nicht nil, sondern 0.
Natürlich :oops:

Popov 19. Mär 2012 17:14

AW: problem obwohl nichts verändert - shellexecute
 
Vielleicht sollte man ihm auch zeigen wie er den Rückgabewert erhält.

Ist zwar einfach, aber wenn man es nicht weiß:
Delphi-Quellcode:
//
ShowMessage(IntToStr(ShellExecute(Handle, 'open',PCHar(Pfad), nil, nil, SW_SHOW)));
Und hier auch die Werte, weil ich sie gerade parat habe:
Code:
0   Zuwenig Speicher, ausführbare Datei war zerstört, Relokationswerte waren ungültig.
2   Datei wirde nicht gefunden.
3   Verzeichnis wurde nicht gefunden.
5   Gescheiterter dynamischer Link einer Task oder Fehler beim gemeinsamen Zugriff auf eine Datei im Netz oder Fehler beim Zugriff auf eine gesperrte Datei im Netz.
6   Bibliothek forderte separate Datensegmente für jede Task an.
8   Zuwenig Speicher, um die Anwendung zu starten.
10   Falsche Windows-Version.
11   Ungültige ausführbare Datei. Entweder keine Windows-Anwendung oder Fehler in der EXE-Datei.
12   Anwendung für ein anderes Betriebssystem.
13   Anwendung für MS-DOS 4.0.
14   Typ der ausführbaren Datei unbekannt.
15   Versuch, eine Real-Mode-Anwendung (für eine frühere Windows-Version) zu laden.
16   Versuch, eine zweite Instanz einer ausführbaren Datei mit mehreren Datensegmenten, die nicht als nur lesbar gekennzeichnet waren, zu laden.
19   Versuch, eine komprimierte ausführbare Datei zu laden. Die Datei muß dekomprimiert werden, bevor sie geladen werden kann.
20   Ungültige dynamische Linkbibliothek (DLL). Eine der DLLs, die benötigt wurde, um die Anwendung auszuführen, war beschädigt.
21   Anwendung benötigt Windows-32-Bit-Erweiterungen.


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