相关疑难解决方法(0)

Delphi TThread.CurrentThread和EAccessViolation - 这是一个错误还是我的无能......?

在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,如果你实现我的简单示例项目,你会遇到同样的问题吗?


更新:正如François在下面提到的,这实际上是Delphi 2009中的一个错误 - 你可以在这里投票.


更新:此错误已在Delphi 2010中修复.

delphi tthread delphi-2009

11
推荐指数
3
解决办法
7660
查看次数

标签 统计

delphi ×1

delphi-2009 ×1

tthread ×1