什么叫动态DLL和静态,它们有什么用途和区别(0分)

  • 主题发起人 主题发起人 topdelphi
  • 开始时间 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
什么叫动态DLL和静态,它们有什么用途和区别,
在程序窗体里又如何调用另一个DLL窗体的例子啊,请比个例子指教一下,
又是在程序那个项目里新建DLL窗体的,谢谢
 
指的是调用的方式不同
 
DLL就是动态链接库,静态链接就是我们Delphi编译出来的普通的Exe。
大富翁这一类的问题很多,随便查查多的是!
 
但是在DELPHI如何新建一个DLL窗体啊,在那里的啊,好像只有一个DLL向导啊。
 
但是在DELPHI如何新建一个DLL窗体啊,在那里的啊,好像只有一个DLL向导啊。
---------------------------------------------------------------
my god,
你建立一个dll 工程后,就可以跟在普通的application 中,添加一个
form一样的添加啦。
我以前给个某个在dfw上提问的朋友发个一个demo(有关使用dll),不过可能找不到了,
找到的话,给你mail 过去。
 
不同意shenloqi关于动态和静态DLL的解释,
个人认为:
静态DLL是使用在应用程序中使用exports声明使用DLL的函数,程序编译后就有这些函数的入口了
动态DLL是使用Loadlibrary,GetprocAddress,Freelibrary在程序运行时动态装入DLL,
使用函数,释放DLL,
 
Delphing的意思是载入方法阿,不知道楼主的意思是什么?
调用静态载入
1 客户端函数声名:
1)大小写敏感。
2)与DLL中的声明一样。
如: showform(form:Tform);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;
showform:mypointer;
begin
Hinst:=loadlibrary('yproject_dll');//Load一个Dll,按文件名找。
showform:=getprocaddress(Hinst,'showform');//按函数名找,大小写敏感。如果你知道自动化对象的本质就清楚了。
showform(application.mainform);//找到函数入口指针就调用。
Freelibrary(Hinst);
end;
 
同意delphing的意见~
 
谢谢,我的E-MAIL是softcool@163.net
但是还有点不明白,DLL工程是在那里创建的啊,为何我找不到的,
 
后退
顶部