DLL中如何导出类,导出类后怎么样使用,重奖200分 ( 积分: 200 )

  • 主题发起人 主题发起人 fartripLiao
  • 开始时间 开始时间
F

fartripLiao

Unregistered / Unconfirmed
GUEST, unregistred user!
请附上可用的源代码
 
写函数返回类的指针,在宿主程序中调用。宿主程序如果是delphi程序可以使用bpl。源码就免了
 
请jjtl给出源码好吗?这种方法以前没有试过
 
procedure MyDllProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then //退出时恢复Dll的Application
begin
if Assigned(DllApp) then
Application := DllApp;
end;
end;

function returnClass(AppHandle: Integer): TForm ;stdcall; export;
var frm:TMyForm;//自己在dll中加一个form单元
begin
if not Assigned(DllApp) then
begin
DllApp := Application;
Application.handle := AppHandle;
end;
frm := TFrmTMDC.Create(application);
result := frm;
//frm.ShowModal;

end;

exports
returnClass; //输出函数
begin
DllProc := @MyDllProc;
end.
 
DLL Dynamic Link Library 动态链接库 就目前来讲已经不再是什么新技术 读者可
以在书店过时的 Delphi 书籍里随便找到讨论 DLL 编程的章节……


然而 DLL 在封装对象方面却有一定的技术难度 这方面资料极少 甚至有的程序员误
以为 DLL 只支持封装函数 不支持封装对象
通过研究 我们发现 DLL 在封装对象上主要的限制在于
 调用 DLL 的应用程序只能使用 DLL 中对象的动态绑定的方法
 DLL 封装对象的实例只能在 DLL 中创建
 在 DLL 和调用 DLL 的应用程序中都需要对封装的对象及其被调用的方法进行声

下面我先通过一个简单的例子来演示如何使用 DLL 封装对象 并在应用程序中调用该
对象 然后再讨论相关的技术细节
…………

内容很多,而且有图片
如果需要,请加
qq:10040231(注明原因)
或留下email地址。
 
后退
顶部