Autor Beitrag
nooby
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Pro.
D7
BeitragVerfasst: Di 02.09.03 14:17 
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);
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 02.09.03 15:51 
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Pro.
D7
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Di 02.09.03 17:29 
Hi,

keine Ahnung aber versuch mal
ausblenden Delphi-Quelltext
1:
Application.ProcessMessages					

barfuesser
nooby Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Pro.
D7
BeitragVerfasst: Di 02.09.03 17:45 
Danke, das war der Befehl, den ich gesucht habe.