Fórum TImage não está atualizando imagem em tempo real. #584885

15/08/2017

0

Olá, tenho um componente TImage atualizando com TTimer no intervalo de 1000ms, porém só mostra a imagem caso eu minimize e maximize ou se troco a propriedade do TImage para false e true novamente.

Soluções que já tentei.

procedure TFPrincipal.ComTerminal1StrRecieved(Sender: TObject; var Str: string);
begin
  Image1.Picture := Nil;
  if (Str = 'L1D') then
    Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'imagens/lampada_desligada.png')
  else
    Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'imagens/lampada_ligada.png');
end;



procedure TFPrincipal.Timer1Timer(Sender: TObject);
begin
  if BgQG.Visible then
    ComPort1.WriteStr('s');
  Application.ProcessMessages;
end;
Gabriel Costa

Gabriel Costa

Responder

Posts

15/08/2017

Luiz Vichiatto

Você habilitou o TTimer para true?

Timer1Timer.Enabled := true 
Responder

Gostei + 0

15/08/2017

Gabriel Costa

Você habilitou o TTimer para true?

Timer1Timer.Enabled := true 


Sim, o código está tudo funcionando, porém para eu conseguir ver a imagem atualizada, eu preciso minimizar e maximar o software, como se eu tivesse que dar um Refresh no form.
Responder

Gostei + 0

16/08/2017

Douglas Souza

Olá, tenho um componente TImage atualizando com TTimer no intervalo de 1000ms, porém só mostra a imagem caso eu minimize e maximize ou se troco a propriedade do TImage para false e true novamente.

Soluções que já tentei.

procedure TFPrincipal.ComTerminal1StrRecieved(Sender: TObject; var Str: string);
begin
  Image1.Picture := Nil;
  if (Str = 'L1D') then
    Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'imagens/lampada_desligada.png')
  else
    Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'imagens/lampada_ligada.png');
end;



procedure TFPrincipal.Timer1Timer(Sender: TObject);
begin
  if BgQG.Visible then
    ComPort1.WriteStr('s');
  Application.ProcessMessages;
end;


Opa Gabriel, belezinha?

Tente utilizar o seguinte comando: "image1.refresh", após a sua verificação de lampada ligada ou desligada.

Espero que funcione.

Um forte abraço.

Att, Douglas Claudio.
Responder

Gostei + 0

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

Aceitar