|
利用Delphi的ActiveForm,可以很方便地開發(fā)出可以嵌入IE的ActiveX組件,無需知道太多幕后的COM知識。如何使得OCX可以很方便地調(diào)用Web上的JavaScript函數(shù)呢,研究了一個下午,使用ActvieForm的Events接口搞定。說穿了不值錢,只要一句代碼就搞定,但是Google半天,琢磨了N久,看來還是基本功不扎實。 首先在ActiveForm的項目中找到ridl文件,打開它,選擇ActiveForm的Events接口,點擊右鍵,建立一個新的方法,方法名為我需要調(diào)用javascript的函數(shù)名。這里我要調(diào)用一個js的上傳圖片腳本,所以將其命名為“OnUploadPic”。得到這個事件的ID,這里是209。
來到xxx_TLB.pas文件中(xxx為你的項目名),在ActiveForm中Events接口中將這個OnUploadPic方法的聲明加進去。
然后HTML頁面中建立這個事件函數(shù),注意event字段寫入事件名,for字段寫入你給OCX取的名字,也就<object>把OCX包進去的時候取的name值:
然后在Delphi中需要調(diào)用這個函數(shù)的地方,加入代碼:
=========================================================================================
for="testid",for要用Object對象中的id,不能用ocx名稱ActiveFormProj1,否則就會出現(xiàn)FEvents=nil。 |
|
|
來自: posondlq > 《ActiveX控件》