回 帖 发 新 帖 刷新版面

主题:DLL里的窗体类的PUBLIC过程和函数调用高深问题

顾名思义,就是要调用DLL中的窗体类PUBLIC语句定义的过程和函数以及方法
比如说:DLL中的一个窗体类定义如下:type 
                                    pMemList=^TMemList;
                                    TMemList=record
                                     TableName:string;
                                     cnnstr:string;
                                     usrFlag:integer;
                                     issystem:integer;   
                                 end;
TFrmCrtMu=class(Tform)
private{}
public{function DynamicMenu(pmenu:pMemList,MainMu:Tobject):boolean;  procedure GetNextItem(....);
procedure FrmClick(sender:Tobject)}
function ShowMenu(...):integer;export;
implement
($r *.dfm)
procedure FrmClick(sender:Tobject);
begin
  ....
end;
function ShowMenu(...):integer;
var
 MuItem:TMenuItem;
begin
  MuItem:=TMenuItem.create(nil);
  MuItem.caption:='sdfksdj';
  MuItem.onclick:=FrmClick[color=FF0000];//运行里这一行报错..请问我应该如何解决这个问题.[/color]
end;

但是单独运行窗体则是正确的.请教高手们应该如何处理这个难题,它困犹我N个晚上,想不透呀..以下是我的分析思路:如果把procedure Frmclick() 改为function Frmclick():Tnotifyevent;就能编译成功.但是在菜单项的单击事件中却运行不正常了.可不可以换一种思路去解决问题,比方说EXPORT 对象后使用该对象的方法和PUBLIC定义的过程和函数.THANK YOU VERY BODY!

 再次感谢大家来看贴.!!!!!

回复列表 (共4个回复)

沙发

为什么这么久都没人回贴呢?各位大虾们,帮帮小弟吧!!!

板凳

版主没看到吗?还是很忙?或者是我表达不清楚?请各位提提意见嘛.

3 楼

多贴点源码看看。

4 楼

这个问题是有点高深的,论坛上怎么解决得了。网上查一下“Delphi 中的DLL 封装和调用对象技术”,自己多花点时间研究吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册