Fórum Criando componente TRxGifAnimator em Runtime #507442

15/01/2015

0

Boa noite pessoal. Estou criando o componente TRxGifAnimator em tempo de execução porém ele está ficando atrás de um TMemo e um TEdit que tenho no formulário. Já tentei BringToFront, SendToBack e mesmo assim não funcionou. Alguém pode me ajudar?
Marlon Minotti

Marlon Minotti

Responder

Posts

16/01/2015

Renato Rubinho

Buenos,

Tenta remover o componente do Form e adicioná-lo novamente para ele se sobrepor aos demais.
Não lembro em que situação que já passei por isso com algum outro componente e, por lógica, entendo que por ordem de criação o último tem "prioridade" de exibição.
Se não funcionar, pode ser que os outros componentes sempre prevaleçam sobre ele, então, adicione um panel e coloque esse componente dentro dele que deve funcionar.

Abraççç,
rrubinho
Responder

Gostei + 0

16/01/2015

Marlon Minotti

Já tentei fazer a remoção e colocar novamente porém não funcionou. Com o panel funciona, o problema é que eu crio o componente em runtime, neste caso eu teria que criar o panel em runtime também.
Responder

Gostei + 0

16/01/2015

Renato Rubinho

Não sei se tem outra alternativa, não utilizo esse componente.
Criar o panel é simples. Não esqueça de colocar o form como parent do panel e o panel, por sua vez, como parent do TRxGifAnimator.
Ou então, deixa o panel criado e invisível, caso não queira criá-lo toda vez. Quando for utilizar o TRxGifAnimator, torna o panel visível.
Responder

Gostei + 0

16/01/2015

Marlon Minotti

Amigo, tentei de todas as maneiras, até a mais fácil, porém esta acontecendo um problema o qual é o mesmo desde o início só que de diferentes formas diferentes. Analise o código abaixo:
with dmDados do
  begin
    if (cbTipoAtendimento.Text = 'Dúvidas') or (cbTipoAtendimento.Text = 'Financeiro') or
       (cbTipoAtendimento.Text = 'Sugestões') or (cbTipoAtendimento.Text = 'Reclamações') then
    begin
      with qryConfig, qryConfig.SQL do
      begin
        Close;
        Clear;
        Add('select * from configuracoes');
        Open;
      end;

      RxGIFAnimator1.Animate := True;
      smtpEmail.Host := Trim(qryConfig.FieldByName('configuracao_servidoremail').AsString);
      smtpEmail.Username := Trim(qryConfig.FieldByName('configuracao_email').AsString);
      smtpEmail.Password := Trim(qryConfig.FieldByName('configuracao_senhaemail').AsString);
      smtpEmail.Port := qryConfig.FieldByName('configuracao_portaemail').Value;

      if qryConfig.FieldByName('configuracao_necessitaautent').AsString = 'S' then
      Begin
        smtpEmail.AuthType := satDefault;
        smtpEmail.UseTLS := utUseExplicitTLS;
        socketEmail.SSLOptions.Method := sslvSSLv3;
      End
      Else
        smtpEmail.AuthType := satNone;

      smtpEmail.IOHandler := socketEmail;

      messageEmail.From.Address := Trim(qryConfig.FieldByName('configuracao_email').AsString);
      messageEmail.From.Name := Trim(qryConfig.FieldByName('configuracao_from').AsString);
      messageEmail.Recipients.EMailAddresses := 'marlon.minotti@gmail.com';

      messageEmail.Subject := Trim(cbTipoAtendimento.Text+' - '+editTitulo.Text);
      messageEmail.Body.Add(mmDescricao.Text);
      messageEmail.ContentType := 'multipart/mixed';

      Try
        if not smtpEmail.Connected then
          smtpEmail.Connect;

        smtpEmail.Send(messageEmail);

        ShowMessage('Mensagem enviada com sucesso.');
      Except
        On msg: Exception do
        begin
          ShowMessage('Erro ao enviar mensagem. Erro: '+msg.Message);
        end;
      end;
    end;


Neste código estou tentando enviar um e-mail, e enquanto eu estou enviando o mesmo há um "delay", neste tempo eu quero que a Gif fique animada, porém ela só fica animada após o envio do email. Pode me ajudar?
Responder

Gostei + 0

17/01/2015

Marlon Minotti

Consegui resolver utilizando Thread. Vlw
Responder

Gostei + 0

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

Aceitar