电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

如何用delphi制作DLL动态库方法

如何用delphi制作DLL动态库方法_第1页
1/12
如何用delphi制作DLL动态库方法_第2页
2/12
如何用delphi制作DLL动态库方法_第3页
3/12
用Delphi 制作DLL 的方法 一 Dll 的制作一般步骤 二 参数传递 三 DLL 的初始化和退出清理[如果需要初始化和退出清理] 四 全局变量的使用 五 调用静态载入 六 调用动态载入 七 在DLL 建立一个TForM 八 在DLL 中建立一个TMDIChildForM 九 示例: 十 Delphi 制作的Dll 与其他语言的混合编程中常遇问题: 十一 相关资料 一 Dll 的制作一般分为以下几步: 1 在一个DLL 工程里写一个过程或函数 2 写一个Exports 关键字,在其下写过程的名称。不用写参数和调用后缀。 二 参数传递 1 参数类型最好与window C++的参数类型一致。不要用DELPHI 的数据类型。 2 最好有返回值[即使是一个过程],来报出调用成功或失败,或状态。成功或失败的返回值最好为1[成功]或0[失败].一句话,与windows c++兼容。 3 用stdcall 声明后缀。 4 最好大小写敏感。 5 无须用far 调用后缀,那只是为了与windows 16 位程序兼容。 三 DLL 的初始化和退出清理[如果需要初始化和退出清理] 1 DLLProc[SysUtils 单元的一个Pointer]是 DLL 的入口。在此你可用你的函数替换了它的入口。但你的函数必须符合以下要求[其实就是一个回调函数]。如下: procedure DllEnterPoint(dwReason: DWORD);far;stdcall; dwReason 参数有四种类型: DLL_PROCESS_ATTACH:进程进入时 DLL_PROCESS_DETACH 进程退出时 DLL_THREAD_ATTACH 线程进入时 DLL_THREAD_DETACH 线程退出时 在初始化部分写: DLLProc := @DLLEnterPoint; DllEnterPoint(DLL_PROCESS_ATTACH); 2 如Form 上有 TdcomConnection 组件,就 Uses Activex,在初始化时写一句 CoInitialize (nil); 3 在退出时一定保证 DcomConnection.Connected := False,并且数据集已关闭。否则报地址错。 四 全局变量的使用 在widnows 32 位程序中,两个应用程序的地址空间是相互没有联系的。虽然 DLL 在内存中是一份,但变量是在各进程的地址空间中,因此你不能借助 dll 的全局变量来达到两个应用程序间的数据传递,除非你用内存映像文件。 五 调用静态载入 1 客户端函数声名: 1)大小写敏感。 2)与 DLL 中的声明一样。 如: showform(form:Tform);Far;external'yproject_dll.dll'; 3)调用时传过去的参数类型最好也与 windows c++一样。 4) 调 用时 DLL 必 须 在 windows 搜 索 路 径 中 ,顺 序是 : 当 前 目 录 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

如何用delphi制作DLL动态库方法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部