Delphi TThread.CurrentThread e EAccessViolation - isso é um bug ou minha incompetência ..?

No Delphi 2009 eu estou achando que toda vez que eu uso o TThread.CurrentThread em um aplicativo, eu recebo uma mensagem de erro como a seguinte quando o aplicativo fecha:

Exception EAccessViolation in module ntdll.dll at 0003DBBA.
Access violation at address 7799DBBA in module 'ntdll.dll'.  Write of
address 00000014.

A menos que seja apenas minha máquina, você pode replicar isso em alguns segundos: crie um novo Delphi Forms Application, adicione um botão ao formulário e use algo como o seguinte para o manipulador de eventos do botão:

procedure TForm1.Button1Click(Sender: TObject);
begin
  TThread.CurrentThread;
end;

Tanto na minha máquina Vista quanto na minha máquina XP eu estou achando que, se eunão faça clique no botão está tudo bem, mas se euFaz clique no botão Eu recebo a mensagem de erro acima quando fecho o aplicativo.

Então ... Eu estou querendo saber se isso é um bug, mas ao mesmo tempo eu acho que é bastante provável que eu simplesmente não esteja entendendo algo muito básico sobre como você deveria trabalhar com o TThreads no Delphi. Eu sou um pouco de um novato Delphi, eu tenho medo.

Há algo obviamente errado com o uso de TThread.CurrentThread assim?

Se não, e você tem o Delphi 2009, você terá o mesmo problema se implementar o meu projeto de amostra simples?

Atualização: Como François observou abaixo, este é realmente um bug no Delphi 2009 no momento - você podevote aqui.Atualização: Este bug foi corrigido no Delphi 2010.

questionAnswers(4)

yourAnswerToTheQuestion