Fórum Ajuda para criar tela #352868
01/02/2008
0
Estou fazendo um assistente de importação de dados.
Quando ele esta importando os dados entra em um loop
enquando ele faz o loop, mostra uma outra tela com um progressbar
minha dúvida é o seguinte, na tela q tem o progress vai ter um botão cancelar, como faço para cancelar a importação?
vlw
Quando ele esta importando os dados entra em um loop
for i := 0 to Query.REcordCount - 1 do begin .... ..... .... Query.Next; end;
enquando ele faz o loop, mostra uma outra tela com um progressbar
minha dúvida é o seguinte, na tela q tem o progress vai ter um botão cancelar, como faço para cancelar a importação?
vlw
Luiz_aquino
Curtir tópico
+ 0
Responder
Posts
01/02/2008
Onjahyr
// Se a janela que vc disse já está criada, coloque no public da janela que está no loop ... Public Cancelou : Boolean; ... procedure Form1.ExucutaClick(Sender: TObject); begin Cancelou := False; for i := 0 to Query.REcordCount - 1 do begin if Cancelou then Break; .... ..... .... Query.Next; end; end; // No botão "Cancelar" (Form2): procedure ... begin Form1.Cancelou := True; Close; end;
Responder
Gostei + 0
01/02/2008
Rodc
No loop você precisa colocar um Application.ProcessMessages() para que o usuário consiga clicar no botão.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)