一 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; |
dllproc := @dllenterpoint; |
四 全局变量的使用
在widnows 32位程序中,两个应用程序的地址空间是相互没有联系的。虽然dll在内存中是一份,但变量是在各进程的地址空间中,因此你不能借助dll的全局变量来达到两个应用程序间的数据传递,除非你用内存映像文件。
五 调用静态载入
1 客户端函数声名:
1)大小写敏感。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器