Warten Und Status
Zuletzt geändert: 02.03.2026 11:47

Warten und Statusanzeige #

Funktionen zum Warten auf Bedingungen und zur Anzeige von Statusmeldungen. Besonders nützlich bei der Integration mit externen Prozessen, die Dateien schreiben oder löschen.

ShowWaitMessage #

ShowWaitMessage(Text: String)

Zeigt eine Wartemeldung mit Fortschrittsanzeige an. Die Meldung bleibt sichtbar, bis HideWaitMessage aufgerufen wird.

ellib.ShowWaitMessage "Daten werden verarbeitet..."
' ... lange Operation ...
ellib.HideWaitMessage 0

ShowWaitMessageAsync #

ShowWaitMessageAsync(Text: String): Integer

Wie ShowWaitMessage, gibt aber ein Handle zurück, mit dem die Meldung gezielt geschlossen werden kann.

Dim handle
handle = ellib.ShowWaitMessageAsync("Export läuft...")
' ... Verarbeitung ...
ellib.HideWaitMessage handle

ShowWaitMessageEx #

ShowWaitMessageEx(Title: String, Text: String, Delay: Integer, Async: Boolean): Integer

Erweiterte Wartemeldung mit Titel und Verzögerung. Die Meldung erscheint erst nach Delay Millisekunden, um bei schnellen Operationen ein Flackern zu vermeiden.

Dim handle
handle = ellib.ShowWaitMessageEx("Export", "Rechnungen werden exportiert...", 500, True)
' ... Verarbeitung ...
ellib.HideWaitMessage handle

HideWaitMessage #

HideWaitMessage(Handle: Integer)

Schließt eine zuvor angezeigte Wartemeldung. Bei Handle = 0 wird die über ShowWaitMessage angezeigte Meldung geschlossen.

WaitForFileExistsEx #

WaitForFileExistsEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer

Wartet, bis eine Datei existiert. Nach DialogDelay Millisekunden wird ein Wartedialog angezeigt. Bei Timeout wird -1 zurückgegeben, bei Abbruch durch den Benutzer -2.

Dim result
result = ellib.WaitForFileExistsEx( _
  "C:\Import\daten.csv", _
  "stopwatch", _
  "Warte auf Import-Datei", _
  2000, _
  60000)
If result >= 0 Then
  MsgBox "Datei nach " & result & " ms gefunden"
ElseIf result = -1 Then
  MsgBox "Timeout - Datei nicht gefunden"
ElseIf result = -2 Then
  MsgBox "Vom Benutzer abgebrochen"
End If

WaitForFileAvailableEx #

WaitForFileAvailableEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer

Wartet, bis eine Datei existiert UND nicht mehr gesperrt ist. Nützlich wenn ein externer Prozess eine Datei schreibt und man warten muss, bis der Schreibvorgang abgeschlossen ist.

ellib.WaitForFileAvailableEx "C:\Export\report.pdf", "", _
  "Warte auf PDF-Erstellung", 1000, 30000

WaitForFileDeleteEx #

WaitForFileDeleteEx(Filename: String, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer

Wartet, bis eine Datei gelöscht wurde. Nützlich bei Übergabe-Szenarien, wo ein externer Prozess eine Datei abholt und löscht.

WaitMessage #

WaitMessage(Text: String, Timeout: Integer)

Zeigt eine Meldung für die angegebene Zeit (in Millisekunden) an. Der Benutzer kann den Dialog vorher schließen.

' Meldung für 5 Sekunden anzeigen
ellib.WaitMessage "Bitte warten...", 5000

WaitForCondition #

WaitForCondition(Condition: Object, IconURL: String, Title: String, DialogDelay: Integer, Timeout: Integer): Integer

Wartet auf eine benutzerdefinierte Bedingung. Das Condition-Objekt muss eine Methode IsTrue implementieren, die True oder False zurückgibt.

' Eigene Bedingungsklasse definieren
Class TMyCondition
  Function IsTrue
    ' Hier eigene Prüflogik
    IsTrue = (Hour(Now) >= 18)
  End Function
End Class

Dim cond, result
Set cond = New TMyCondition
result = ellib.WaitForCondition(cond, "stopwatch", _
  "Warte auf Feierabend", 1000, 60000)
Set cond = Nothing

Rückgabewerte:

WertBedeutung
>= 0Wartezeit in Millisekunden bis die Bedingung erfüllt war
-1Timeout erreicht
-2Vom Benutzer abgebrochen