Flash com lag na hora de ficar invisível.

Delphi

06/08/2013

Boa Tarde,
Eu estou pegando o conteúdo do flash e estou passando para um TImage.
Até ae consegui.
O problema e que quando coloco o o flash invisível ele fica com lag e passa esse leg pro TImage.
Alguém saberia como posso forçar esse flash para não ficar com lag?
Muito obrigado pela atenção
Prime Studio

Prime Studio

Curtidas 0

Respostas

Deivison Melo

Deivison Melo

06/08/2013

Não é o componente apropriado para utilizar animações em flash, a melhor forma
de utilizar o conteúdo do flash é através de um componente Activex!!!

Veja se o link abaixo te ajuda!!

http://estacaozn.blogspot.com.br/2007/04/como-integrar-aquivos-flash-swf-no.html

Existe um livro do Fernando Anselmo chamado:

Delphi & Flash: Explorando Novas Fronteiras

Veja se encontra ele por ai ou pelo menos os fontes dele...

Outros post´s abaixo:

http://delphi.about.com/od/graphics/l/aa040103a.htm

http://www.webcheats.com.br/forum/delphi-vb/1623951-delphi-como-colocar-flash-em-seu-programa.html

Quando ele foi lançado comprei, mas acabei repassando para um amigo!!

Acho que ainda tenho os fontes em casa em algum cd...

Qualquer dúvida posta aqui!

Abração e bons códigos!!

Emanoel Deivison
Recife - PE
GOSTEI 0
Deivison Melo

Deivison Melo

06/08/2013

O problema no caso do activex é que o executável vai dobrar de tamanho!

Mas não precisa ter o flash instalado, tem um macete que é só mandar o executável e o swf na mesma pasta!!

Abração!!!
GOSTEI 0
Prime Studio

Prime Studio

06/08/2013

É que tenho que usar esse componente Timage.
E eu preciso colocar o componente ActiveX invisível e ele fica lerdo quando faço isso.
Saberia como posso fazer isso?
GOSTEI 0
Deivison Melo

Deivison Melo

06/08/2013

Teria que ver seu código!!

O problema é que no trabalho não tenho o delphi instalado por não trabalhar mais com delphi e lá em casa só tenho o XE 4.

A não ser que faça uma tela bem simples só com o TImage e o flash dentro dela e mande para que possa analisar!!

GOSTEI 0
Prime Studio

Prime Studio

06/08/2013

private
    meuflash: Tshockwaveflash;

procedure TForm1.FormCreate(Sender: TObject);
begin
  meuflash := Tshockwaveflash.Create(self.container);
  meuflash.Width := self.container.Width;
  meuflash.Height := self.container.Height;
  meuflash.scalemode := 2;
  meuflash.Parent := self.container;
  meuflash.LoadMovie(0, '\\storage\STORAGE\TI\TESTE FLASH.swf');
  meuflash.Play;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  tmpbitmap: Tbitmap;
begin
  tmpbitmap := Tbitmap.Create;
  tmpbitmap.Canvas.Lock;
  tmpbitmap.SetSize(self.container.Width, self.container.Height);
  container.PaintTo(tmpbitmap.Canvas.Handle, 0, 0);
  Image1.Canvas.StretchDraw(rect(0, 0, Image1.Width, Image1.Height), tmpbitmap);
  Image1.Refresh;
  tmpbitmap.Canvas.Unlock;
  tmpbitmap.Free;
end;
GOSTEI 0
Raimundo Melo

Raimundo Melo

06/08/2013

O DoubleBuffered := True do form não ajuda?

Você pode usar a função para travar a tela e dessa forma não daria lag...
GOSTEI 0
POSTAR