21金维他广告策划人:关于delphi中DLL释放的困惑

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 16:39:19
用delpi封了一个form作为DLL,里面用到了DecisionCube组件做一些数据分析。在这个窗口的自身,我加了一个关闭按钮,想实现释放DLL的功能。经过测试当打开form后不做任何操作,关闭正常
如果对决策组件进行了操作,关闭时候就会报dll模块内存只读错误。
1、请问这种情况,是什么原因造成的
2、如何正确的通过form自身的一个按钮来释放这个dll。
以下是我的部分代码
procedure UnLoadForm();stdcall;
begin
if Assigned(Form1) then
FreeAndNil(Form1);
end;
//我定义的过程
procedure TForm1.Button2Click(Sender: TObject);
begin
UnLoadForm();
end;
//按钮部分的代码
把这个按钮放在外部程序一切正常,放在form内部就会出现上面说的情况。
请知道的朋友帮忙看看啊。