TThread.CreateAnonymousThread

14/06/2016

0

Ola!
Não consigo fazer isto funcionar.
Alguém pode me ajudar.
Obrigado.

TThread.CreateAnonymousThread(
procedure
begin
dm.Connection.connected := false;
dm.Connection.ConnectString := 'Provider Name=SQL Server;Data Source=' + TcpIp +
';Initial Catalog=Dados;User ID=sa;Password=12345;Login Prompt=False';
try
dm.Connection.connected := true;
except
showmessage('Falha na conexão. Por favor, tente mais tarde.');
exit;
end;
end).Start;

Obs.: Se alguém tiver um exemplo TThread conectando ao banco de dados também serve.
Preciso deste procedimento para fazer funcionar o AniIndicator.
Rogério Américo

Rogério Américo

Responder

Posts

18/02/2020

Antonio Junior

Olá, tudo que for ter interação com a tela, precisa estar dentro do Synchronize.
Por exemplo:
TThread.Synchronize(TThread.CurrentThread,procedure() begin
showmessage('Falha na conexão. Por favor, tente mais tarde.');
end);

Sua Thread ficaria assim:
TThread.CreateAnonymousThread(procedure() begin

try
ConectarBanco;
except
on E: Exception do begin
TThread.Synchronize(TThread.CurrentThread,procedure() begin
showmessage('Falha na conexão. Por favor, tente mais tarde. '+ E.Message);
end);
end;
end;

end).Start;

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar