建立ActiveX的專案,注意右上方可以選擇相依的.NET版本,最好選擇已經普及的版本,避免客戶沒有安裝新版本.NET的窘境.
此處可以加入一些屬性或程式碼到ActiveX的專案,目前尚未深入研究.
專案開啟之後,直接執行(F5)是無法驗證的,必須搭配ActiveX Container,過去是有[ActiveX Control Test Container]這個預設的工具可以測試.
但是似乎必須確認是retail version才會安裝.我是選用IE當做驗證容器.
開啟專案的屬性.在偵錯的設定頁設定
命令 : C:\Program Files\InternetExplorer\iexplore.exe
參數 : C:\Documents andSettings\personlin\My Documents\Visual Studio2008\Projects\Project1\MyActiveX\MyActiveX\MyActiveX.htm
當然必須確定iexplore.exe放的位置和撰寫一個簡單的html引入目前撰寫的ActiveX control
MyActiveX.htm 的頁面內容下:
<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=big5"/> <TITLE>物件 MyActiveX 的測試頁</TITLE> </HEAD> <BODY> <OBJECT ID="MyActiveX" CLASSID="CLSID:0890299A-0BE4-4AA4-B9F3-49104960464C"></OBJECT> <script language="javascript"> function MyActiveX::OnClick(x,y) { //alert("x="+x + ", y="+y); } </script> </BODY> </HTML>
物件的ClassID,則可以參考專案裡的 MyActiveX.idl
// CMyActiveXCtrl 的類別資訊 [ uuid(0890299A-0BE4-4AA4-B9F3-49104960464C), helpstring("MyActiveX Control"), control ] coclass MyActiveX { [default] dispinterface _DMyActiveX; [default, source] dispinterface _DMyActiveXEvents; };
一般正常應該到此即可, 但用IE8的人可能就需要再做一些設定.
1) Open RegEdit
2) Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3) Add a dword under this key called TabProcGrowth
4) Set TabProcGrowth to 0
5) Open Internet Explorer
6) Go to Tools->Internet Options
7) Switch to the Advanced tab
8) Uncheck 'Disable script debugging (internet explorer)'
Referneces:
留言列表