Código
O problema é que se você usa ShowModal todo o código da operação deve estar contido no form do diálogo de progresso.
Para evitar isso use DisableTaskWindows and EnableTaskWindows.
Desta form seu diálogo vai agir como um formulário Modal e ao mesmo tempo permite executar o form da operação que está em progresso no diálogo.}
procedure TForm1.ShowProgressDlg;
var
WindowList: Pointer;
begin
// Desabilita todos os formulários com exceção de FrmProgress
WindowList := DisableTaskWindows(FrmProgress.Handle);
try
FrmProgress.Show;
// Início do loop que executa a operação
FrmProgress.ProgressBar1.Position := FrmProgress.ProgressBar1.Position + 1;
// Fim do loop
finally
// Reabilita todos os formulários
EnableTaskWindows(WindowList);
FrmProgress.Close;
end; // try
end; // ShowProgressDlg
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009