发信人: 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毫秒