Fórum Carr Img Periodica/ em TImage #317234
24/03/2006
0
Tenho um programinha simples que Lê periodicamente uma imagem jpg salva em uma pasta e carrega em um TImage num form que não tem mais nada além do próprio TImage, que ocupa toda a área do desktop útil do usuário.
Agora o problema: Não consegui fazer com que o TImage receba a segunda imagem sem ter que dar um Hide e um posterior Show...
Tentei repaint, refresh, uso até o ´Self.DoubleBuffered := True;´ no OnCreate, mas nada faz com que a bendita segunda imagem (e as subseqüentes) apareçam... algo que eu possa ter esquecido de colocar ?
:wink: Abs e Bons Códigos :wink:
Paulocesar1301
Curtir tópico
+ 0Posts
24/03/2006
Paullsoftware
coloquei:
1 [b:3b219c0b2f]DirectoryListBox1[/b:3b219c0b2f]
1 [b:3b219c0b2f]FileListBox1[/b:3b219c0b2f]
1 [b:3b219c0b2f]Timer[/b:3b219c0b2f]
e fiz assim pra testar:
no timer
procedure TForm1.Timer1Timer(Sender: TObject); var i:Integer; begin i := FileListBox1.ItemIndex; if i<0 then i:=0 else i := i+1; if i < FileListBox1.Count then FileListBox1.ItemIndex := i else i:=0; Image1.Picture.LoadFromFile(FileListBox1.FileName); end;
procedure TForm1.FormCreate(Sender: TObject); begin DirectoryListBox1.Directory := ´C:\Windows\´; end;
assim as imagens mudam normalmente :wink: senão é isso que vc ta querendo não entendi a sua dúvida! :idea:
Gostei + 0
24/03/2006
Paulocesar1301
Estou com meu sisteminha de Monitoração de tela e este carrega imagens do micro na rede... até aí tudo certo, porém... ao carregar essas imagens, a primeira é carregada normalmente, mas da segunda em diante o TImage não ´refresca´ a imagem (apesar de recebê-la_ sei disso, pois se minimizares o form e restaurá-lo a imagem é alterada !!), mesmo que eu use o refresh, update, repaint e afins !!!!
Não sei o que pode ser, pois sempre trabalhei com coisas assim e nunca tive esse problema !
Abs
Gostei + 0
24/03/2006
Paullsoftware
Gostei + 0
25/03/2006
Paulocesar1301
veja o que faço:
procedure Capturando; Var Stm: TStream; begin Try FRMTela.IdTCPClient1.Host := IPUsu; FRMTela.IdTCPClient1.Connect; FRMTela.IdTCPClient1.WriteLn(´TELA´); Stm := TFileStream.Create(Tmp + ´tela.jpg´,fmCreate); try while FRMTela.IdTCPClient1.Connected do FRMTela.IdTCPClient1.ReadStream(Stm,-1,true); except end; FreeAndNil(Stm); If FileExists(Tmp + ´tela.jpg´) Then begin FRMTela.ImagemTela.Picture.LoadFromFile(Tmp + ´tela.jpg´); // *** aqui é que está o problema Try FRMTela.Hide; Finally FRMTela.Show; End; // *** aqui é que está o problema end Else begin FRMTela.ImagemTela.Picture := nil; end; Try FRMTela.IdTCPClient1.Disconnect; Except End; Except FRMTela.ImagemTela.Picture := nil; Try FRMTela.IdTCPClient1.Disconnect; Except End; End; end;
Na parte que diz: ´// *** aqui é que está o problema´ é exatamente onde tentei de tudo para que a imagem atualizasse, mas nada... inclusive o bendito ProcessMessages
Vlw mais uma vez pela atenção
Gostei + 0
26/03/2006
Kroki
...
Try FRMTela.IdTCPClient1.Disconnect; Except End;
End;
FormX.Refresh;
end;
Gostei + 0
26/03/2006
Kroki
...
If FileExists(Tmp + ´tela.jpg´) Then
begin
FRMTela.ImagemTela.Picture := nil;//*
FRMTela.ImagemTela.Picture.LoadFromFile(Tmp + ´tela.jpg´);
...
Gostei + 0
27/03/2006
Paulocesar1301
MeuForm.Update;
MeuForm.Repaint;
... não funcionou ...
mas
MeuForm.Refresh
rodou beleza ...
Ninguém merece !!!!!
Vlw pelo help galera !!! :D
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)