Ich habe eine Funktion, die ein externes Programm aufruft, was ein Weile im Hintergrund läuft. Wie kann man dem Benutzer signalisieren, dass dieser Vorgang noch nicht abgeschlossen ist. In dieser Zeit z.B. eine Form anzeigen oder ein Textfeld anzeigen.
folgendes funktioniert nicht, da das GUI erst nach Funktionsende aktualisiert wird.
Private Sub Command_Click()
FormMsg.Visible = true
Funktionsaufruf
FormMsg.Visible = false
End Sub
In C++ gibt’s sowas wie ‚Invalidate()‘ und in Delphi gibt’s auch eine Funktion, fällt mir aber nicht mehr ein. Gibt’s da in VB??
Gruß + Danke
Marc
Hallo Marc,
eventuell nützt es Dir, zu überprüfen, welche Prozesse laufen?
http://www.planetsourcecode.com/vb/scripts/ShowCode…
cu Rainer
Hallo Marc
Private Sub Command_Click()
FormMsg.Visible = true
FormMsg. Show
Funktionsaufruf
FormMsg.Visible = false
FormMsg. Hide
End Sub
MfG Peter(TOO)
Hallo Marc,
ich bin jetzt nicht ganz sicher ob ich in die richtige Richtung renne, aber hast du’s mal mit einem FormMsg.Refresh probiert?
Eventuell gefolgt von einem DoEvents um VB die Zeit zu geben das Ding auch wirklich neu zu zeichnen.
MfG
Daniel
Ich danke euch allen,
habe mittlerweile aber eine nicht ganz so gute Lösung verwendet:
Für diesen Zweck lade ich ein anderes Programm laden, welches mir auch noch eine animierte Fortschrittsanzeige (natürlich funktioniert die nicht wirklich programmgesteuert, aber da ich nahezu feste Ablaufzeiten habe…).
Gruß
Marc