ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[RESOLVIDO] - Criando Banner rotativo no delphi xe2 para IOS

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Zhota
Novato
Novato


Registrado: Quarta-Feira, 20 de Junho de 2012
Mensagens: 4

MensagemEnviada: Qua Jun 20, 2012 5:29 pm    Assunto: [RESOLVIDO] - Criando Banner rotativo no delphi xe2 para IOS Responder com Citação

Olá a todos,
Tenho uma dúvida de como fazer um banner rotativo para uma aplicação. Esse banner recebe 4 imagens, e cada imagem leva para uma url diferente,
eu tentei usar a função TTimer, e dentro dela usar sleeps para alternar as imagens mexendo na propriedade "visible" entre true e false de tanto em tanto tempo, porém, ao compilar o aplicativo, ele trava logo depois do tempo programado pelo sleep, e só volta quando mostra a ultima imagem, eu sei que o problema está no sleep, pois quando eu o retiro, ele roda o programa sem travar, mas só mostra a primeira imagem, e depois do time programado, ele mostra direto a ultima imagem.
Alguém sabe algum modo de resolver isso?

Vou colocar o código aqui pra ilustrar a minha dúvida;

Código:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:= False;
  Image1.Visible := False;
  Image2.Visible := True;
  Image3.Visible := False;
  Image4.Visible := False;
  sleep (10000);

  Image1.Visible := False;
  Image2.Visible := False;
  Image3.Visible := True;
  Image4.Visible := False;
  sleep (10000);

  Image1.Visible := False;
  Image2.Visible := False;
  Image3.Visible := False;
  Image4.Visible := True;
  sleep (10000);

timer1.Enabled:= true;
end;


Obrigado!
Att, Zhota.


Editado pela última vez por Zhota em Qua Jun 27, 2012 1:02 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Caduzera
Profissional
Profissional


Registrado: Terça-Feira, 29 de Julho de 2008
Mensagens: 656

MensagemEnviada: Qui Jun 21, 2012 7:35 am    Assunto: Responder com Citação

Amigo, tente colocar depois de todos os Sleep o comando Application.ProcessMessages;

Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Zhota
Novato
Novato


Registrado: Quarta-Feira, 20 de Junho de 2012
Mensagens: 4

MensagemEnviada: Qui Jun 21, 2012 1:17 pm    Assunto: Responder com Citação

Tentei colocar o "Application.ProcessMessages;", porém continuei tendo o mesmo problema. Sad

Att, Zhota.[/b]
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Zhota
Novato
Novato


Registrado: Quarta-Feira, 20 de Junho de 2012
Mensagens: 4

MensagemEnviada: Qua Jun 27, 2012 1:00 pm    Assunto: Responder com Citação

Olá colegas programadores!

Consegui arrumar um jeito de fazer os banners.
Tive que retirar os sleeps (já que travavam o aplicativo), e colocar 1 timer para cada imagem, e em cada função do timer, eu colocava visible:=false e true para as imagens escolhidas, e desligava o time, ao mesmo tempo que chamava o próximo time, e fazia assim até chegar devolta ao primeiro.

Talvez isso pese um pouco mais o aplicativo, mas foi a forma que eu consegui para resolver o problema.

Att, Zhota.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB