如何用Delphi编写dll文件
[11-20 17:13:35] 来源:http://www.88dzw.com 嵌入式系统 阅读:8374次
文章摘要:五 调用静态载入 1 客户端函数声名: 1)大小写敏感。 2)与DLL中的声明一样。如:Far;external'yproject_dll.dll'; 3)调用时传过去的参数类型最好也与windows c++一样。 4)调用时DLL必须在windows搜索路径中,顺序是:当前目录;Path路径;windows;widows\system;windows\ssystem32; 六 调用动态载入 1 建立一种过程类型[如果你对过程类型的变量只是一个指针的本质清楚的话,你就知道是怎么回事了]。如: type mypointer=procedure(form:Tform);Far;ex
如何用Delphi编写dll文件,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com五 调用静态载入
1 客户端函数声名:
1)大小写敏感。
2)与DLL中的声明一样。如:Far;external'yproject_dll.dll';
3)调用时传过去的参数类型最好也与windows c++一样。
4)调用时DLL必须在windows搜索路径中,顺序是:当前目录;Path路径;windows;widows\system;windows\ssystem32;
六 调用动态载入
1 建立一种过程类型[如果你对过程类型的变量只是一个指针的本质清楚的话,你就知道是怎么回事了]。如:
type
mypointer=procedure(form:Tform);Far;external;
var
Hinst:Thandle;
begin
Hinst:=loadlibrary('yproject_dll');//Load一个Dll,按文件名找。
showform:=getprocaddress(Hinst,'showform');//按函数名找,大小写敏感。如果你知道自动化对象的本质就清楚了。
showform(application.mainform);//找到函数入口指针就调用。
Freelibrary(Hinst);
end;
例:
1.File->Close all->File->New﹝DLL﹞
代码: //自动产生Code如下
library Project2;
uses
SysUtils, Classes;
{$R *.RES}
begin
end.
2.加个Func进来:
代码:
library Project2;
uses
SysUtils, Classes;
Function stdcall ;
begin
if X > Y then Result := X
else Result := Y ;
end ;
//切记:Library 的名字大小写没关系,可是DLL-Func的大小写就有关系了。 在 DLL-Func-Name写成MyMax与myMAX是不同的。如果写错了,结果是此DLL的AP根本打不开。参数的大小写就没关系了。甚至不必同名。如原型中是 (X,Y:integer)但引用时写成(A,B:integer),那是没关系的。
//切记:要再加个stdcall。书上讲,如果你是用delphi写DLL,且希望不仅给delphi-AP也希望BCB/VC-AP等使用的话,那你最好加个Stdcall ; 的指示
//参数型态:delphi有很多种它自己的变量型态,这些当然不是DLL所喜欢的,Windows/DLL的母语是C。所以如果要传进传出DLL的参数,我们尽可能照规矩来用。
{$R *.RES}
begin
end.
3.将这些可共享的Func送出DLL,让外界﹝就是你的delphi-AP啦﹞使用:光如此,你的AP还不能用到这些,你还要加个Exports才行。
代码:
{$R *.RES}
exports
MyMax ;
begin
end.
4.好了,可以按 Ctrl-F9编译了。此时可不要按F9。DLL不是EXE不可单独执行的,如果你按F9,会有ErrorMsg的。这时如果DLL有Error,请修正之。再按Ctrl-F9。此时可能有Warning,不要紧,研究一下,看看就好。再按Ctrl-F9,此时就『Done , Compiled 』。同目录就会有个 *.dll 。恭喜,大功告成了。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
- 上一篇:流量计算机
《如何用Delphi编写dll文件》相关文章
- › 如何用Delphi编写dll文件
- 在百度中搜索相关文章:如何用Delphi编写dll文件
- 在谷歌中搜索相关文章:如何用Delphi编写dll文件
- 在soso中搜索相关文章:如何用Delphi编写dll文件
- 在搜狗中搜索相关文章:如何用Delphi编写dll文件