AddressOf 的問題(編號:7824)

請教一個問題
小弟在學習關於Timeout的程式 想用SetTimer
Source code 如下
Form1:
Option Explicit

Private Sub Command1_Click()
    SetTimer 0, 1, 15000, AddressOf timeout
  End Sub

Private Sub Command2_Click()
    KillTimer 0, 1
  End Sub

在modul內宣告:
Public Sub timeout()
    MsgBox "timeout"
  End Sub

但在執行後會有違法存取記憶體的錯誤發生,我想是使用 AddressOf 所引發的問題
請問該如何避免這類問題?還是另有原因?