El codigo que estoy usando es este:
Código Delphi
[-]
procedure TFormMain.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Barra.Position := AWorkCount div 1024;
end;
procedure DescargarArchivo(sArchivo: String);
var
FTP: TIdFTP;
cad: string;
begin
FTP := TIdFTP.Create(nil);
FTP.OnWork := FormMain.FTPWork;
FTP.Username := 'admin';
FTP.Password := '123';
FTP.Host := 'www.apocalipsi.com';
try
FTP.Connect;
except
raise Exception.Create( 'No se ha podido conectar con el servidor ' + FTP.Host);
end;
FTP.ChangeDir('/Update/');
FormMain.Barra.Max := FTP.Size(ExtractFileName(sArchivo)) div 1024;
if FileExists(sArchivo) then DeleteFile(sArchivo);
cad:= sArchivo;
FTP.Get(ExtractFileName(sArchivo), sArchivo, False, False);
FTP.Disconnect;
FTP.Free;
end;
procedure TFormMain.FormActivate(Sender: TObject);
begin
DescargarArchivo('Programa.exe');
Close;
WinExec(PChar('Programa.exe'),SW_SHOWNORMAL);
end;
end.
Saludos
Luis