Entwickler-Ecke

Windows API - ShellExecute Problem


nooby - Di 02.09.03 14:17
Titel: ShellExecute Problem
Versuche ein Programm aus Delphi heraus zu starten, um an Daten zu kommen und diese anschließen auszuwerten. Mein Problem ist nun, das er diesen ShellExecute-Befehl zwar ausführt (und das Ergebnis ist auch ok), aber eben nicht dann wann ich es will, sondern erst, wenn mein restliches Programm beendet ist... Woran kann das liegen?

ShellExecute(0,'open',PChar(strPfad1),PChar(strPfad2),Nil,SW_SHOW);


Delete - Di 02.09.03 15:51
Titel: Re: ShellExecute Problem
nooby hat folgendes geschrieben:
Woran kann das liegen?

Jedenfalls nicht am geposteten Code. Die Frage wäre, wo in deinem Programm du das Code aufrufst und was nach dieser Zeile sonst noch so passiert.


nooby - Di 02.09.03 17:18

Also der Befehl wird ganz normal bei Button.click aufgerufen und sollte eigentlich sofort ausgeführt werden. Erst mal wird aber das ShellExecute ignoriert. Wenn hintendran eine Variablenzuweisung kommt z.B.
strPfad1 := IniDat.ReadString ('PFAD_HANDI','PFAD','');
dann wird das ShellExecute weiter ignoriert. Wenn ein
Showmessage ('Test');
hintendran steht, dann wird zusammen mit dem dem Showmessage das ShellExecute ausgeführt.

Bei Visual Basic würde ich einfach ein DoEvents setzen, aber was mache ich hier?


barfuesser - Di 02.09.03 17:29

Hi,

keine Ahnung aber versuch mal

Delphi-Quelltext
1:
Application.ProcessMessages                    

barfuesser


nooby - Di 02.09.03 17:45

Danke, das war der Befehl, den ich gesucht habe.