1.将IDCard.ocx文件放在C盘根目录下,打开visual studio 2005命令提示 工具窗口 如图所示:
输入aximp c:\IDCard.oxc 会生两个dll文件----IDCardLib.dll、AxIDCardLib.dll。
2.在程序在添加引用 IDCardLib.dll、AxIDCardLib.dll。
private void Form1_Load(object sender, EventArgs e)
{
AxIDCardLib.AxIDCard idcard = new AxIDCardLib.AxIDCard()
((System.ComponentModel.ISupportInitialize)(idcard)).BeginInit()
this.Controls.Add(idcard)
((System.ComponentModel.ISupportInitialize)(idcard)).EndInit()
//下面便可调用IDCard里面的方法了。
}
OCX 其实质上可以看作是动态库,即对 dll 文件进行加载调用。
通常来说,你需要先在 *** 作系统中注册 ocx,比如:
regsvr32.exe/s yourocx.ocx然后,在源代码里可以先引入这个库( Component--->Import Activex Control),再调用即可。
如果是动态注册,可以参考以下代码:
//注册ocxfunction RegisterOCX(FileName: string): Boolean
var OCXHand: THandle
RegFunc: TDLLFunction
begin
OCXHand := LoadLibrary(PChar(FileName))
RegFunc := GetProcAddress(OCXHand, 'DllRegisterServer')
if @RegFunc <> nil then
Result := RegFunc = S_OK
else
Result := False
FreeLibrary(OCXHand)
end
//卸载OCX
function UnRegisterOCX(FileName: string): Boolean
var OCXHand: THandle
RegFunc: TDLLFunction
begin
OCXHand := LoadLibrary(PChar(FileName))
RegFunc := GetProcAddress(OCXHand, 'DllUnregisterServer')
if @RegFunc <> nil then
Result := RegFunc = S_OK
else
Result := False
FreeLibrary(OCXHand)
end
//调用:
FWord := CreateOleObject('Word.Application')
引用与部件是二个完全不同的概念,引用只能已经添加引用,但引用没有具体的界面,部件是具有界面的。一般OCX应该是部件,如果在VB中没有这个部件,估计是你的系统中没有注册,因此首先需要注册。
方法是:将你需要注册的OCX文件拷贝到系统的WINDOWS/SYSTEM32/的目录中,在这个目录中有一个Regsvr32.exe,双击进入,在DOS界面输入你的OCX的文件名+扩展名,回车,确定,OK了,注册成功。
在VB的部件列表中就可以找到了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)