這個描述也適用於C++BUILDER的姊妹可視化工具Delphi。
首先,您需要手動註冊它。windows下的ocx。
regsvr32 usbVein.ocx
如果妳想註銷這個。從windows中添加參數/u。
Regsvr32 usbVein.ocx /u
如果這個ocx是有版權的,就需要在註冊表下導入註冊項或者寫標誌,否則這個控件不能在IDE設計模式下使用。
首先嘗試在C++Builder6IDE下安裝OCX,先作為第三方控件使用。
1.在BCB6 IDE下,首先關閉項目並導入類型庫:
IDE:項目導入類型庫
找到usbVein.ocx對應的USB靜脈庫[版本1.0],TFingerVein是類名。
註意下面的單元目錄名c:\ program files \ borland \ cbuilder 6 \ imports \
點擊Install,註意生成的項目名c:\ program files \ borland \ cbuilder 6 \ lib \ dclusr . bpk。
如果您想再次卸載這個OCX控件,您必須打開這個dclusr.bpk項目並刪除三個與OCX相關的文件。
安裝這個OCX控件後,在ActiveX控件組下,出現FingerVein控件,這是安裝這個OCX後的新控件。
2.點擊保存,保存該控件的項目dclusr.bpk,關閉項目,結束。
安裝OCX生成的四個文件,USB靜脈_ ocx.cpp,USB靜脈_ ocx.h
Usb靜脈_ TLB。CPP和USB靜脈_ TLB。h被稱為這個OCX的類型庫。
4.從BCB6中移除未使用的OCX質控品:
從IDE中打開項目c:\ program files \ borland \ c builder 6 \ lib \ dclusr . bpk。
使用刪除按鈕刪除三個文件,USB Vein _ ocx . cppuusb Vein _ ocx . DCR和USB Vein _ TLB.cpp。
單擊保存,然後單擊構建dclusr.bpk運行,提示OCX控件被刪除並從控件組ActiveX中消失。
第二,如何在不安裝OCX作為IDE控件的情況下使用
要通過客戶源直接使用OCX,必須有四個類型庫文件,USB靜脈_ OCX。CPP和USB靜脈_ OCX.H。
usbVein_TLB.cpp,usbVein_TLB.h
前兩個應該用include,嵌入到源程序中。cpp和。h,它們會自動調用後兩個,後兩個應該放在c:\ program files \ borland \ cbuilder 6 \ imports \
這種方法不能在編程狀態下直接在窗體中使用OCX控件,而只能在新建的動態方式中使用。
生成ocx類型庫的方法和上面安裝控件類似,只是不要點擊安裝,而是點擊創建單元。將生成四個文件。
您可以在程序中創建對象。
#包含" usbVein_OCX.cpp "
TFingVein * finger vein 1;
finger vein 1 = new tfingervin(this);
finger vein 1->;open USB();
finger vein 1->;close USB();
刪除finger vein 1;
第三,OCX的自我註冊
有兩種方法可以使用OCX對象:
如果作為直接控件安裝,可以在設計時直接放到窗體上,但這樣,程序運行前必須在系統中註冊OCX,否則會出現“類未註冊”的錯誤。因此,建議使用動態創建對象的方法,即新建。
如果不把OCX控件放在程序窗體中,可以用新的。好處是OCX控件不會顯示在主界面上(也可以設置為顯示)。在運行時,OCX也可以在妳自己的程序中註冊自己。源子程序如下:
// RegOcx.cpp,可以使用include嵌入到自己的源程序中。
包括& ltRegistry.hpp & gt// .OCX自註冊子程序
boolregister ocx的完整文件名(string ocxf)//.ocx。
{
bool success = false
DWORD(_ _ stdcall * DllRegisterServer)();
DllRegisterServer = NULL
HINSTANCE hOCX = NULL
hOCX = LoadLibrary(ocxf . c _ str());
if (hOCX)
{
(void * & amp)DllRegisterServer=
(void *)GetProcAddress(hOCX," DllRegisterServer ");
if (DllRegisterServer)
{
success = DllRegisterServer()= = S _ OK;
免費圖書館(hOCX);
}
}
回報(成功);//成功:1失敗:0
} // DLL和OCX自註冊子程序