WebService X SOAP

17/06/2009

Olá Pessoal!!! Gostaria de saber se alguem ja fez ou tem alguma dica de como mostrar um progressbar numa aplicação WebService x SOAP. O cenário é o seguinte: Tenho um servidor de aplicação, onde existem varios metodos publicados. No meu programa cliente, existe um botão que quando o usuario clicar nele, será consumido um serviço. Até ai tudo beleza. O problema é que este método, as vezes, é demorado, e ai o usuário não sabe o que eta acontecendo. Eu gostaria de mostrar algum indicador de que o sistema não esta 'travado' mas sim processando. []'s Ines Brotto
Frame Brotto

Frame Brotto

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

17/06/2009

Olá,
  Segue uma outra dica, veja se é possível e te ajudaria, usar o componente TAnimate, o mesmo seria uma animação,estilo quando voCê esta copiando um arquivo no Windows, e fica uma pasta, jogando os arquivos de uma para outra, ele simula aquele processo. Poderia ser assim?

Att,

Wesley Y
GOSTEI 0
Frame Brotto

Frame Brotto

17/06/2009

Wesley  Eu nunca usei este componente do Delphi. Voce poderia me dar um exemplo de como fazer isto ?  Mas so para voce saber, eu acho que não vai adiantar, pois eu preciso que mostre alguma "coisa" enquanto a função no server é executada. Eu acho que temos que usar threads. Se for o caso, voce poderia me dar um exemplo, usando o Tanimate e a Thread ? []'s Ines Brotto 
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

17/06/2009

Olá.
  Bom você não vai consegui com progress bar, pois o processamento é executado lá no servidor.
 Solução : Criar um form, com um Label ( Aguarde... Processando ), e chamar o mesmo logo após o Begin do processamento, e ao final fechar o form, antes do End;
  Porém você tem que fazer com que o usuário não feche o form.

Com isso você resolve o problema.

Att,

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

17/06/2009

Olá,
  Gostaria de saber se conseguimos resolver o seu problemas, podemos fechar o chamado ?

Att,

Wesley Y
GOSTEI 0
Frame Brotto

Frame Brotto

17/06/2009

Fiz como voce falou...   Olha o codigo abaixo :       ......     FrmProgressBar := TFrmProgressBar.create(Self);
    FrmProgressBar.Show;
    if dmLancamento.Atualiza(edSelData.Date, edSelDataAte.Date, edCodEmpresa.text) = false then
    begin
      FrmProgressBar.free;
     error.av('Problema na atualização dos saldos.')
  end
  else
    begin
      FrmProgressBar.free;
     error.ac('O', 'Atualização completada com sucesso.')
  end;   ......   Onde : FrmProgressBar é um form onde tem somente um label 'Aguarde processamento.....' Eu abro ele como NAO MODAL. A funcao 'atualiza' é a chamada da função remota. Quando termina eu libero o form. É isto que voce falou para fazer ?   Se foi, não esta legal ainda. O programa não mostra o label da tela 'progressbar'....   []'s Ines
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

17/06/2009

Olá.

  Foi isso mesmo que te falei, exatamente, só não entendi como não mostra o Label, o Formulário abre ? Você ve o formulário ? O label esta com Caption e o Visible = true ? Pois se você tem o form na sua frente, ele tem que ter o label. Se possivel mande um Print da tela para analisarmos.

Att,

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

17/06/2009

Olá Bom dia !
   Gostaria de saber se podemos fechar o chamado, sua duvida foi esclarecida ?

Att, Wesley Y
GOSTEI 0
Devmedia

Devmedia

17/06/2009

Ines,
por falta de retorno estamos concluindo o chamado. Caso ainda tenha dúvidas sobre o assunto tratado aqui, por favor, volte a postar aqui que o consultor voltará a lhe atender.
GOSTEI 0
POSTAR