DLL的问题:如何在Dll中用DataModule?(50分)

  • 主题发起人 主题发起人 1306
  • 开始时间 开始时间
1

1306

Unregistered / Unconfirmed
GUEST, unregistred user!
我建了一个Dll,内置一个DataModule,它主要通过SocketConnection连接应用服务器的RomateDataModule,它在DLL中由其他From调用,可是一调用就出现了Access violation at address 00FB429A in module 'xxx.dll'.Read of address 0000009C.
错在哪儿,如何解决?
 
在调用它的dll form 的初始化中 初始化 数据模块
结束的时候 释放数据模块
 
大概没有创建吧
 
已创建,并在子Form中调用正常
 
就是我说的原因拉!
在调用它的dll form 的初始化中 初始化 数据模块
结束的时候 释放数据模块,
在调用数据模块的 窗体 后 加上
initialization //创建DM
CoInitialize(nil);
if DM = nil then
DM := TDM.Create(Application);
finalization //释放资源
try
if DM <> nil then
begin
DM.Free;
DM := nil;
end;

CoUnInitialize;
except
// 屏蔽所有异常信息
end;
end.
 
不好意思,我自已解决了,没想到没人能回答我的问题
 
说说你的解决方案,我说的可行。
 
主要是DataModule要先激活
 
后退
顶部