COM 對象通過 IConnectionPointContainer 暴露事件接口,客戶端實現事件接口並通過 Advise 建立連接,對象觸發事件時回調客戶端方法。
Function myobject_onadd(v1, v2)
MsgBox "add" & v1 & v2
End Function
Set Cnxn4 = WScript.CreateObject("ATLCom.ATL3", "myobject_")
' 此處 myobject_ 為前綴,對應事件處理函數名 myobject_onadd
<HTML>
<BODY ONLOAD="test()" LANGUAGE="VBScript">
<SCRIPT LANGUAGE="VBScript">
Function tt_onadd(v1, v2)
MsgBox "add" & v1 & v2
End Function
Function test()
tt.Add 1, 2 ' 觸發對象的 Add 方法,進而引發 onadd 事件
End Function
</SCRIPT>
<SPAN ID="mySpan">SPAN</SPAN>
<OBJECT classid="clsid:1C6B8199-F7EA-4D8B-9F56-7F80ABAB16D0" id="tt"></OBJECT>
</BODY>
</HTML>
WScript.CreateObject(ProgID, prefix) 第二個參數指定事件處理函數前綴,自動連接默認事件源。<OBJECT> 標籤的 classid 對應 COM 組件 CLSID,id 作為腳本訪問對象的變量名。對象ID_事件名,如 tt_onadd。ONLOAD="test()" 觸發測試調用。