使C++Builder使用DelphiVCL類庫的方法基于Windows中較通用的DLL方式。在實(shí)際應(yīng)用中找到了將
VCL控件轉(zhuǎn)化為DLL庫,在C++Builder動(dòng)態(tài)調(diào)用DLL。此法適用于非可視VCL控件。
假令在Delphi中有一Sample控件,有屬性Actived、Pro1、Pro2,欲將這個(gè)控件轉(zhuǎn)到C++Builder中使用。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
一、Delphi中DLL的制作
在Delphi中新建一DLL項(xiàng)目SampleDLL,時(shí)在此項(xiàng)目中Create一個(gè)新的類TTtempcomp基類為TComponent即也為一個(gè)控件,在其中加入一個(gè)constructorCreate1,但不作任何動(dòng)作;在DLL中加入要導(dǎo)出的屬性的Function(Actived、Pro1、Pro2)&Create、Destroy的框架,Exports中加入導(dǎo)出的Function、Procdure名稱;在DLL的主過程中對(duì)TTempcomp的實(shí)例temp1進(jìn)行Create1,另外保存出口和設(shè)置ExitProc;在OpenSample的函數(shù)中加入HwCtrl:=Sample1.Create(temp1)對(duì)Sample進(jìn)行實(shí)例化,對(duì)CloseSample和其它屬性加入相應(yīng)的語句;
二、C++Builder中DLL的使用
將Delphi中生成的DLL用implib生成LIB文件加入C++Builder的工程文件;
在頭文件中加入
extern "C" __declspec(dllimport) bool _stdcall OpenSample(void);
extern "C" __declspec(dllimport) void _stdcall CloseSample(void);
extern "C" __declspec(dllimport) bool _stdcall Actived (void);
extern "C" __declspec(dllimport) int _stdcall Pro1 (void);
extern "C" __declspec(dllimport) int _stdcall Pro2 (void);
在OpenSample后你就可以使用Delphi中的屬性Actived、Pro1、Pro2
VCL控件轉(zhuǎn)化為DLL庫,在C++Builder動(dòng)態(tài)調(diào)用DLL。此法適用于非可視VCL控件。
假令在Delphi中有一Sample控件,有屬性Actived、Pro1、Pro2,欲將這個(gè)控件轉(zhuǎn)到C++Builder中使用。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
一、Delphi中DLL的制作
在Delphi中新建一DLL項(xiàng)目SampleDLL,時(shí)在此項(xiàng)目中Create一個(gè)新的類TTtempcomp基類為TComponent即也為一個(gè)控件,在其中加入一個(gè)constructorCreate1,但不作任何動(dòng)作;在DLL中加入要導(dǎo)出的屬性的Function(Actived、Pro1、Pro2)&Create、Destroy的框架,Exports中加入導(dǎo)出的Function、Procdure名稱;在DLL的主過程中對(duì)TTempcomp的實(shí)例temp1進(jìn)行Create1,另外保存出口和設(shè)置ExitProc;在OpenSample的函數(shù)中加入HwCtrl:=Sample1.Create(temp1)對(duì)Sample進(jìn)行實(shí)例化,對(duì)CloseSample和其它屬性加入相應(yīng)的語句;
二、C++Builder中DLL的使用
將Delphi中生成的DLL用implib生成LIB文件加入C++Builder的工程文件;
在頭文件中加入
extern "C" __declspec(dllimport) bool _stdcall OpenSample(void);
extern "C" __declspec(dllimport) void _stdcall CloseSample(void);
extern "C" __declspec(dllimport) bool _stdcall Actived (void);
extern "C" __declspec(dllimport) int _stdcall Pro1 (void);
extern "C" __declspec(dllimport) int _stdcall Pro2 (void);
在OpenSample后你就可以使用Delphi中的屬性Actived、Pro1、Pro2