Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problema TProgressBar e IdFTP (https://www.clubdelphi.com/foros/showthread.php?t=73840)

jlrdz 19-05-2011 16:58:20

Problema TProgressBar e IdFTP
 
Un saludo primero que nada,me gustaria saber que es lo que le falta a este programa para que funcione la barra de progreso al estar trabajando con el componente FTP de Indy, he visto varios post en este foro y no encuentro la solucion, asi como esta el programa lo compilo, lo ejecuto y me lo envia al servidor de forma correcta pero la barra de progreso no me indica cuando termino de subir el archivo, simplemente no hace nada, les dejo aqui elcódigo del programa esperando puedan ayudarme, gracias. :)
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  FTP: TIdFTP;
  F: File of byte;
begin
  FTP := TIdFTP.Create( nil );
  FTP.OnWork := FTPWork;
  FTP.Username := 'username@dominio';
  FTP.Password := 'pass';
  FTP.Host := 'ftp.host.com';
  FTP.Port:=21;
  try
    FTP.Connect;
  except
    ShowMessage( 'No se ha podido conectar con el servidor ' + FTP.Host );
  end;
  if FTP.Connected then
  begin
         FTP.ChangeDir( '/dirtest/' );
        barra.Position:=0;
        AssignFile( F, 'C:\miarchivo.txt' );
        Reset( F );
        Barra.Max := FileSize( F ) div 1024;
        CloseFile( F );
        FTP.Put( 'C:\miarchivo.txt', ExtractFileName( 'miarchivo.txt' ), False );
        FTP.Disconnect;
        FTP.Free;
  end
  else
      showmessage('No conectado');
end;

procedure TForm1.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
Barra.Position := AWorkCount;
end;

APO 14-06-2011 13:19:21

Para que la barra de progreso funcione correctamente deberías también especificarle el número máximo de acciones a efectuar. Y tampoco estaría mal refrescar el formulario después de cada progreso de la barra.

Barra.Properties.Max := NumeroMaximo;
Application.ProcessMessages;

Un saludo.


La franja horaria es GMT +2. Ahora son las 10:03:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi