在Delphi 2009中,我发现无论何时在应用程序中使用TThread.CurrentThread,我都会在应用程序关闭时收到如下错误消息:
Exception EAccessViolation in module ntdll.dll at 0003DBBA.
Access violation at address 7799DBBA in module 'ntdll.dll'. Write of
address 00000014.
Run Code Online (Sandbox Code Playgroud)
除非它只是我的机器,你可以在几秒钟内复制它:创建一个新的Delphi Forms Application,在表单中添加一个按钮,并使用类似下面的按钮的事件处理程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
TThread.CurrentThread;
end;
Run Code Online (Sandbox Code Playgroud)
在我的Vista的机器和我的XP的机器都我发现,如果我不按一下按钮一切都很好,但如果我做的点击按钮,我得到上面的错误消息,当我关闭应用程序.
所以...我想知道这是不是一个错误,但与此同时我认为我很可能根本不理解你应该如何在Delphi中使用TThreads.我有点像德尔福新手,我很害怕.
使用TThread.CurrentThread有什么明显错误吗?
如果没有,并且你有Delphi 2009,如果你实现我的简单示例项目,你会遇到同样的问题吗?