超验问题组件在dll中,事件如何触发
做一个组件,做成独立的dll文件,有个问题出来了,当我使用这个组件的时候,组件的事情,触发的时候,如何在主程序exe 里响应这个事件,即DLL某个事件触发,exe里某个过程被执行.
这种问题如何解决 ?
[解决办法]
TCallBackProcedure = procedure (Sender:TObject,.....)你的事件的格式
在你的被调用的DLL里
var PCallBackProcedure :TCallBackProcedure;
procedure SetCallBackProcedure(CP:TCallBackProcedure);
begin
PCallBackProcedure := CP;
end;
procedure DoEvent(....);
begin
if Assigned(PCallBackProcedure) then
PCallBackProcedure(.........);
end;