Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit Shellexecute (https://www.delphipraxis.net/41902-problem-mit-shellexecute.html)

Nisbo 10. Mär 2005 16:19


Problem mit Shellexecute
 
Da der Mod das Topic geschlossen hat mit der Bitte für jede Frage ein eigenes Thema zu erstellen komme ich dem natürlich nach obwohl die erste Frage eigendlich mit dem Thema zu tun hat, aber egal, hier nochmal neu:

Moin Moin

erstmal vorne Weg, die Suchfunktion betätige ich jett schon seit Stunden bei Google und in dieversen Boards nur leider finde ich nicht zu einem Ergebnis :(

Ich nutze nämlich nicht Delphi sondern Lazarus ist aber auch Pascal und ähnlich Delphi:
http://www.lazarus.freepascal.org/index.php

Das Problem was ich jetzt habe ist das:

// Notepad oeffnen
procedure TForm1.MenuItem21Click(Sender: TObject);
var sw_show: longint;
begin
Shellexecute(Application.Handle,'open',PChar('C:\W INNT\notepad.exe'),nil,nil,sw_show);
end;

nicht funktioniert, C:\WINNT\notepad.exe ist aber bei W2K richtig ;)

jetzt fragt ihr euch bestimmt warum ich var sw_show: longint; gemacht habe ?

ganz einfach weil sonst der Compiler meckert, oder was muß man da einbinden ? die ShellAPI ist eingebunden unter uses

notepad erscheint einfach nicht, ist aber in der Prozessliste über den Taskmanager zu sehen

ich vermute mal das es an sw_show liegt, kann den fehler aber nicht weiter eingrenzen

PS ich beschäftige mich erst seit 3 Tagen mit dem Thema (vorher nur PHP)



@ Mattin
wegen deiner antwort hier:
http://www.delphipraxis.net/internal...ect.php?t=9667

auch das funktioniert leider nicht, siehe Problem mit sw_show (und meine Lösung), sw_shownormal wird so als nicht initiert
gekennzeichnet

in der Prozessliste ist notepad ja zu sehen, nur es wird nicht geöffnet, sehr komisch nen getarntes notepad :D

Kiste 10. Mär 2005 16:25

Re: Problem mit Shellexecute
 
afaik sollte es SW_SHOWNORMAL heissen...

mfg Kiste

Mattin 10. Mär 2005 16:29

Re: Problem mit Shellexecute
 
Zitat:

auch das funktioniert leider nicht, siehe Problem mit sw_show (und meine Lösung), sw_shownormal wird so als nicht initiert
gekennzeichnet

in der Prozessliste ist notepad ja zu sehen, nur es wird nicht geöffnet, sehr komisch nen getarntes notepad :D
[/quote]

mmhhh..... merkwürdig ?? :gruebel: Und wenn Du vorher mal den Prozess beendest und Du dann das ganze nochmals
probierst.

Klappt bei mir einwandfrei.

Mattin 10. Mär 2005 16:31

Re: Problem mit Shellexecute
 
Zitat:

auch das funktioniert leider nicht, siehe Problem mit sw_show (und meine Lösung), sw_shownormal wird so als nicht initiert
gekennzeichnet

in der Prozessliste ist notepad ja zu sehen, nur es wird nicht geöffnet, sehr komisch nen getarntes notepad :D
[/quote]

mmhhh..... merkwürdig ?? :gruebel: Und wenn Du vorher mal den Prozess beendest und Du dann das ganze nochmals
probierst.

Klappt bei mir einwandfrei.

Kiste 10. Mär 2005 16:32

Re: Problem mit Shellexecute
 
Hups ... sorry ganz übersehen... :)

evtl kannste es mit C:\win2k\system32\notepad.exe probieren? Ist evtl die Notepad.exe mit nem Virus, Wurm oder sonstwas verseucht? Also kannste die im Explorer mitm doppelklick starten?

mfg kiste

Nisbo 10. Mär 2005 16:38

Re: Problem mit Shellexecute
 
nein notepad ist ok, ich vermute mal das es an lazarus liegen wird :(
die notepad.exe liegt auch zu 100% in C:\WINNT

wenn ich jetzt mit SW_SHOWNORMAL arbeite bekomme ich beim compilen

Identifier not found "SW_SHOWNORMAL"

ShellAPI ist geladen, sonst würde ja auch Shellexecute nicht funktionieren

Mattin 10. Mär 2005 16:41

Re: Problem mit Shellexecute
 
Zitat:

Identifier not found "SW_SHOWNORMAL"

ShellAPI ist geladen, sonst würde ja auch Shellexecute nicht funktionieren
Dann binde doch bitte mal "ShlObj" mit ein und guck was der Compiler dann sagt.

Tyrael Y. 10. Mär 2005 16:42

Re: Problem mit Shellexecute
 
moin

Delphi-Quellcode:
procedure TForm1.MenuItem21Click(Sender: TObject);
begin
     Shellexecute(0,'open',
     PChar('notepad.exe'),nil,nil,sw_show);
end;
..tip das mal genau so ein und probier es mal, sollte funktionieren

Edit:
SW_SHOW ist in der Windows.pas definiert

Nisbo 10. Mär 2005 16:50

Re: Problem mit Shellexecute
 
Supi und vielen Dank, lag daran das Windows nicht in den units war :wall:
aber das hatte ich eigendlich schon mal versucht, diesmal habe ich es testweise an erster stelle eingefügt und siehe da es funktioniert

OK vielen Dank nochmal :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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 by Thomas Breitkreuz