TThread.CreateAnonymousThread

Android

14/06/2016

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

Curtidas 0

Respostas

Antonio Junior

Antonio Junior

14/06/2016

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;

GOSTEI 0
POSTAR