Delphi開發OCX詳細步驟總結


     

  首先要弄明白你要寫的OCX是用在客戶端還是用在服務器端   

假如用在客戶端:   

1、創建 

  打開delphi 7,選擇菜單"new"->"other"->"activex"->"active form"->輸入項目名稱,   系統自動給你創建了3個文件,一個是項目文件,一個是form的單元文件,還有一個后綴帶TLB   的文件。這三個文件中的你只需要更改form的單元文件,項目文件一般不需要寫什么,TLB文件   有系統自動維護。  

 

 2、增加接口函數 

  所謂接口函數就是調用OCX的程序可以直接調用的函數,如果你要寫的函數不提供   外部函數可以按常規聲明就可以。但要聲明接口函數則必須按步驟聲明,  

①選擇form單位文件(一定要選form文件才可以,否則相應的菜單都是不可用的),然后點擊"view"->"Type Library",彈出一個對話框,

②然后選擇左側樹狀圖第一個節點——鼠標右鍵——New——Method

③修改方法名稱,如圖所示:

④切換到"Parameters"標簽,輸入方法參數。

注意:如果參數是string類型,則選擇BSTR。如果參數是輸入參數,則modifier選擇in,

如果是輸出參數,則Modifier選out,如果是作為函數返回值,則Modifier選out和refVal

輸出參數和函數返回值,Type必須為指針類型 (即:類型 *)

⑤點工具欄的刷新按鈕,就會自動更新單元文件代碼

如下圖,自動生成了function LSBH_LOGIN(const WIN_NO, WORK_NO: WideString): WideString;

safecall;

⑥在自動生成的函數體中寫實現代碼即可。

 

3、ocx的注冊和卸載。

注冊:regsvr32 usQueueOcx.ocx

卸載:regsvr32 /u usQueueOcx.ocx

 

4、編寫html調用ocx (示范文件:testQueue.html)

建議使用Editplus來編寫html。

①在Editplus——文件——新建——html網頁。

②點工具欄上的對象按鈕,選擇注冊的ocx對象,則html中自動插入對象。

 

也可以手動插入object對象,代碼如下:

<object id="TusQueue" width="0" height="0" classid="CLSID:2FE52D49-D1E2-44C4-AE30-D35BAB691F21"></object>

說明:對象id一般命名和ocx的類名稱一致,classid的值可以在ocx代碼中搜索classid得到。如下圖

 

 

 

 

5、調試OCX。

  我是用html調試的,所以可用在delphi種配置run的參數   "run"->"parametes",彈出一對話框,在"host application"中輸入C:\Program Files\Internet Explorer\IEXPLORE.EXE, 

  在"parametes"中 html文件路徑 ,點【OK】按鈕。如下圖

這樣就可以調試delphi代碼了。F9運行OCX代碼,自動啟動parametes設定的瀏覽器打開調試html,可以設置斷點來調試了。

注意:如果是IE8,則會出現無法進入斷點的情況。

解決方法: 修改注冊表

regedit→ HKEY_LOCAL_MACHINE →SOFTWARE→Microsoft →   Internet Explorer→Main。在Main里新建一個DWORD類型名為TabProcGrowth值為0。

另一種解決方法:delphi7的ocx對應的tlb文件頂部有一個{$VARPROPSETTER ON},把這個開關去掉重新編譯注冊就可以了

 

源碼下載:http://download.csdn.net/detail/tc310/9114805

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM