大家帮我看看这个dll吧 -_-! (关于dll初始化和释放)
dll初始化和释放……
……
procedure MyDLLHandler(Reason: Integer);
begin
case Reason of
DLL_PROCESS_ATTACH:
begin
FXMLDoc := TDOMDocument30.Create(nil);
end;
DLL_PROCESS_DETACH:
begin
FXMLDoc.Free;
if FXMLDoc = nil then
SHowmessage('ok');
end;
DLL_THREAD_ATTACH:;
DLL_THREAD_DETACH:;
end;
end;
……
begin
DLLProc := @MyDLLHandler;
MyDLLHandler(DLL_PROCESS_ATTACH);
end.
问题:只要一执行FXMLDoc.Free;就出现地址错误。不释放又不行。该怎样处理?
如果声明的是TStringList的实例,释放时(….free)就没有错误。是不是和TDOMDocument30有关?我该如何释放它呢??
谢谢大家!