发信人: lofe ()感激生活(), 信区: BorlandDev
标  题: 动态链结函式库(Dynamic Linked Library)(3)
发信站: 哈工大紫丁香 (2000年08月30日19:51:24 星期三), 站内信件

撰写输出函式(Export Function)

在完成的表格的设计後,再来我们就要撰写输出函式,该外部程式可以利用呼叫该函
式的方式显示这个表格。我们的输出函式定义如下:

extern "C" void _stdcall ShowImage(void);

其中 extern "C" 是用来告诉编译器,以C的方式来命名,而不要以C++ 的命名法,因
为C++ 的命名法会在函式名称後加上参数型态等装饰字,如此会造成其他程式如
VC++,VB等无法使用的困扰。另外 __stdcall是用来表示它使用的参数传入方法。我们
在後续单元会针对以上两者做更为深入的介绍。

再来我们来看函式本身,这个函式很简单,只是利用new动态产生一个表格,然後利用
ShowModal来显示该表格,ShowModal会一直等到使用者按Click之後才关掉表格,此时
我们再以delete指令来释放占用的记忆体。

void _export _stdcall ShowImage(void)
{
Form1 = new TForm1(NULL);
Form1->ShowModal();
delete Form1;
}

在完成以上程式之後,你就可以编译程式。此时C++Builder会产生一个DLL档,以本程
式而言,它会产生一个DLLSAMP.DLL档案,而这个就是供外部呼叫的动态链结函式库。

--
真正的程序员用C, 聪明的程序员用什么?——Inprise工具!

欢迎光临BorlandDev版,探讨Inprise编程

           独孤九剑的最高境界是不拿剑
           编程的最高境界是无所谓工具

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: malacs.hit.edu.cn]
※ 修改:·lofe 於 08月30日19:52:01 修改本文·[FROM: malacs.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.237毫秒