AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C语言

使用 C++ Builder 创建包含VCL组件的DLL

51自学网 2015-09-06 http://www.wanshiok.com
    3.5创建包含VCL组件的DLL
    DLL的一个好处在于用一种开发工具创建的DLL可以用于另一不同的开发工具编写的程序使用。当在调用应用程序中使用了包含了VCL组件(比如窗体)的DLL,则必须提供输出接口路径以用于标准的传统调用来避免C++名称不匹配,并且不需要所调用的应用程序支持VCL库。为了创建能够输出的VCL组件,可使用运行时程序包,有关信息可以参阅第10章。
    比如,假设要创建一个DLL,显示如下简单的对话框(如图3-1所示)。
    这个对话框DLL的代码如下:




    这个例子代码显示对话框,并在Yes按钮被按下时在私有数据成员returnValue中存储true值,否则,returnValue值为false。公用的GetReturnValue()函数接收returnValue的当前值。
    为了调用这个对话框,并确定是哪一个按钮被按下,调用的应用程序调用输出函数InvokeYesNoDialog()。这个函数作为C链(以避免C++名称不匹配)和标准的传统C调用的一个输出函数在DLLMAIN.H中声明,在DLLMAIN.CPP中定义。
    在DLL中使用标准的C函数作为接口,不管是否是用C++Builder创建的,任意调用的应用程序都能使用这个DLL。要求支持这个对话框的VCL功能被链接入DLL本身,而所调用的应用程序不需要了解它的任何东西。
    要注意的是,当创建了一个VCL的DLL时,所需的VCL组件被链接入DLL,将导致一定量的越界(overhead),通过将几个组件结合进一个只需要VCL支持组件的一个备份的DLL中可以压缩这种越界,这将使应用程序的大小最小化。

 

 

 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:C++ Builder 链接DLL  下一篇:C++ Builder 链接DLL