你好
我有一个写在 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;
还有其他人能够复制这个问题吗?知道原因并且该如何解决吗?