Delay Component Overview
📖 Introduction
cDelay is a delay object class that supports three working modes: event-triggered mode, callback function mode, and synchronous wait mode. Suitable for various scenarios requiring delayed execution.
✨ Key Features
| Feature | Description |
|---|---|
| Three Working Modes | Event-triggered, callback function, synchronous wait |
| Parameter Support | Callback mode supports up to 9 parameters |
| UI Responsive | Sync mode uses message pump, does not block UI |
| Cancellable | Supports cancellation of delay operations |
| Global Management | Automatically manages global resources and instance counting |
🚀 Quick Start
Event Mode (Default)
vb
Private WithEvents Delay As cDelay
Private Sub Form_Load()
Set Delay = New cDelay
Delay.CountDown 3000 ' Triggers OnTime event after 3 seconds
End Sub
Private Sub Delay_OnTime()
Debug.Print "Delay ended!"
End SubCallback Mode
vb
Private Delay As cDelay
Private Sub TestCallback()
Set Delay = New cDelay
Delay.Callback(Me, "MyFunction", "param1", 123).CountDown 2000
End Sub
Public Sub MyFunction(ByVal p1 As String, ByVal p2 As Long)
Debug.Print "Callback executed: " & p1 & ", " & p2
End SubSynchronous Wait Mode
vb
Private Delay As cDelay
Private Sub TestSync()
Set Delay = New cDelay
Debug.Print "Starting wait..."
Delay.Sync().CountDown 3000 ' Wait 3 seconds, UI stays responsive
If Delay.IsCancelled Then
Debug.Print "Wait cancelled"
Else
Debug.Print "Wait completed"
End If
End Sub📋 Working Mode Comparison
| Mode | Enum Value | Description | Use Case |
|---|---|---|---|
| Event Mode | dmEvent | Triggers via OnTime event | UI operations requiring event response |
| Callback Mode | dmCallback | Calls specified method of specified object | Scenarios requiring parameter passing |
| Sync Mode | dmSync | Blocks but processes messages | Sequential execution while keeping UI responsive |
🔗 Related Documentation
- methods.md - Methods detailed reference
- properties.md - Properties detailed reference
Last Updated: 2026-05-17