【发布时间】:2010-11-02 21:45:55
【问题描述】:
嗨
我有一个用 Delphi 2006 编写的动态链接库,它的 uses 子句中有 forms.pas。
如果我加载 dll 然后立即在 for 循环中卸载它,比如 10000 次,内存会慢慢攀升。但是,如果我将 Forms.pas 从 dll 的 uses 子句中取出,那么问题就消失了。
代码很简单
这是我的 dll 代码:
library Project1;
uses
Forms;
begin
end.
这是我的调用应用程序代码:
procedure TForm1.Button1Click(Sender: TObject);
var
t_ImportHandle: LongInt;
t_Index: Integer;
begin
for t_Index := 0 to 10000 - 1 do
begin
t_ImportHandle := LoadLibrary('Project1.dll');
FreeLibrary(t_ImportHandle);
end;
end;
是否有其他人能够复制或知道原因是什么以及如何解决?
【问题讨论】:
标签: delphi memory dll memory-leaks