Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aufruf externes Programm klappt nicht (https://www.delphipraxis.net/6010-aufruf-externes-programm-klappt-nicht.html)

FBrust 26. Jun 2003 09:44


Aufruf externes Programm klappt nicht
 
Hallo,

wenn ich versuche, mit

Delphi-Quellcode:
       ShellExecute(0, nil, PChar(strProg), nil, nil, SW_SHOW);
ein externes Programm aufzurufen, erhalte ich beim Kompilieren die Fehlermeldung "Unbekannter Bezeichner 'SW_SHOW'", und das obwohl die Unit ShellAPI in der Uses-Klausel steht :?: :?:

Hat vielleicht jemand einen Tip?

Grüsse
Frank

s14 26. Jun 2003 10:14

Hallo,
sw_show ist in der Unit Windows definiert.

Gruß

sakura 26. Jun 2003 10:14

Wenn ich mich jetzt nicht irre, dann ist SW_SHOW in der Unit Windows definiert.

...:cat:...

r_kerber 26. Jun 2003 10:18

Füge mal in der uses-Klausel ShellAPI ein.

s14 26. Jun 2003 10:21

@Rainer: hat er doch schon eingefügt :wink:

r_kerber 26. Jun 2003 10:23

Zitat:

Zitat von sakura
Wenn ich mich jetzt nicht irre, dann ist SW_SHOW in der Unit Windows definiert.

. Habe ich jetzt auch gesehen. Asche auf mein Haupt. Aber ShellExecute ist in ShellAPI deklariert.

r_kerber 26. Jun 2003 10:24

Zitat:

Zitat von s14
@Rainer: hat er doch schon eingefügt

das kommt davon, wenn man sich nebenbei mit anderen Dingen (VC++5) beschäftigt. :oops: :roll:

blq 26. Jun 2003 10:30

Musst du denn umbedingt:

ShellExecute(...) benutzen ??

Ansonsten versuche es doch mal mit

WinExec(szExecName, SW_SHOWNORMAL);

funktioniert auch ohne Probleme

r_kerber 26. Jun 2003 10:35

@blq: Zitat aus der OH
Zitat:

This function is provided for compatibility with earlier versions of Windows

blq 26. Jun 2003 11:07

@r_kerber

auf meinem Rechner ist WinXP Professional installiert. und der Befehl läuft auf den Betriebsystemen Win98, Win2000 ohne Probleme...

war ja auch nur ein vorschlag, er kann auch weiterhin die ShellExecute verwenden.

r_kerber 26. Jun 2003 11:14

@blq: Zum Einen kann die API-Funktion jederzeit entfallen. Nämlich genau dann, wenn M$ 16-Bit-Windows überhaupt nicht mehr unterstützen will. Und zum Anderen kann man WinExec IMHO nur Programme starten. Mit ShellExecute "startet" man Dateien, d.h. es werden die mit den Dateien verknüpften Programme gestartet. Also auch ein funktionaler Unterschied.

FBrust 26. Jun 2003 12:04

Ah ja,

dann hat also nur die Unit Windows in der Uses-Klausel gefehlt.


Danke, Leute!


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