在C++Builder中利用Delphi控件[VC/C++编程]
本文“在C++Builder中利用Delphi控件[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Delphi的呈现将一大批程序员带入了Windows下的可视化编程,为一些C&C++的死党程序员所羡慕、感慨.直到C++Builder的呈现这些Programer才用到了梦寐以求的编程工具,也将一些不得已"投敌"到Delphi下的程序员又拉回到C++的度量.她正真将Windows下的可视化编程和面向对象编程语言有机的交融在一同.但是由于C++Builder面市时间较短固而可用的控件不多,并且控件的利用也只针对某一版本,彼此之间的可互用性不好,除非你有SourceCode;关于Delphi就更不用说了,C++Builder根本不能用,当然假如你有SourceCode那么你可以转写成C++Builder的控件,不过你还得经过n遍的Complie…m遍的Step&Go.
Delphi拥有强盛的控件群,若何利用这些控件一向苦恼着我们这些C++Builder的跟随者,我通过一些项目的实践掌握了一些如安在C++Builder中利用Delphi控件的办法.
我的使C++Builder利用DelphiVCL类库的办法基于Windows中较通用的DLL方法.在实际利用中找到了将VCL控件转化为DLL库,在C++Builder动态调用DLL.此法实用于非可视VCL控件.
假令在Delphi中有一Sample控件,有属性Actived、Pro1、Pro2,欲将这个控件转到C++Builder中利用.
一:Delphi中DLL的制作
1.在Delphi中新建一DLL项目SampleDLL,时在此项目中Create一个新的类TTtempcomp基类为TComponent即也为一个控件,在此中加入一个constructorCreate1,但不作任何行动;
2.在DLL中加入要导出的属性的Function(Actived、Pro1、Pro2)&Create、Destroy的框架,Exports中加入导出的Function、Procdure名称;
3.在DLL的主历程中对TTempcomp的实例temp1举行Create1,别的保存出口和设置ExitProc;
4.在OpenSample的函数中加入HwCtrl:=Sample1.Create(temp1)对Sample举行实例化,对CloseSample和别的属性加入呼应的语句;
二:C++Builder中DLL的利用
1.将Delphi中生成的DLL用implib生成LIB文件加入C++Builder的工程文件;
2.在头文件中加入
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);
3.在OpenSample后你便可以利用Delphi中的属性Actived、Pro1、Pro2
以上是“在C++Builder中利用Delphi控件[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |