Hola ecfisa! Gracias por responder, se me paso ayer de poner mas detalles o el código.
Como les contaba antes, el programa cuenta con una unidad y un solo form es un programa que actualiza y lanza a otro ejecutable.
En el form create puse todo el código, ahí es donde se conecta al servidor ftp, y lo arregle un poco con algunas label e imágenes indicando que se esta realizando la descarga, lo raro que una vez que termina la descarga ahi si me muestra todo.
Este es el {pp}
Código Delphi
[-]program Update;
uses
Forms,
Update in 'Update.pas' ,
Hashes in 'Hashes.pas';
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.Title := 'Update ';
Application.CreateForm(TUpdateForm, UpdateForm);
Application.Run;
end.
Este es el form Update Form.
Código Delphi
[-]procedure TUpdateForm.FormCreate(Sender: TObject);
var
FileInfo: TShFileOpStruct;
begin
if FileExists('c:\Archivos de programa\HashViejo.txt') then
begin
hashviejo:=TStringList.Create;
hashviejo.LoadFromFile('c:\Archivos de Programa\\HashViejo.txt');
hashviejov:=(hashviejo[0]);
hashviejo.Free
end;
ActualizarIdFTP.Username:=
ActualizarIdFTP.Password:=
ActualizarIdFTP.Host := '127.0.0.1';
ActualizarIdFTP.Connect;
ActualizarIdFTP.ChangeDir('/Publica/Nuevo');
ActualizarIdFTP.Get('HashNuevo.txt','c:\Archivos de Programa\HashNuevo.txt',True,False);
hashnuevo:=TStringList.Create;
hashnuevo.LoadFromFile('c:\Archivos de Programa\HashNuevo.txt');
hashnuevov:=(hashnuevo[0]);
if hashnuevov = hashviejov then
begin
UpdateForm.Visible:=False;
Shellexecute(0, 'open', pchar('c:\Archivos de Programa), '', '' , SW_Shownormal);
Application.Terminate;
end
else
//Esta Desactualizado
begin
ShowMessage('El programa esta desactualizado');
// Baja el Programa
UpdateForm.Visible:=True;
UpdateForm.WindowState:=wsNormal;
ActualizarIdFTP.Disconnect;
ActualizarIdFTP.Username:= ;
ActualizarIdFTP.Password:=
ActualizarIdFTP.Host := '127.0.0.1';
ActualizarIdFTP.Connect;
ActualizarIdFTP.ChangeDir('/Publica/Nuevo');
UpdateProgressBar.Max:= ActualizarIdFTP.Size('') div 1024;
ActualizarIdFTP.Get('','c:\Archivos de Programa\',True,False);
ActualizarIdFTP.Disconnect;
end;
Ese seria el código falta algunas lineas pero son datos de conexión.
También lo pensaba es que este código podría estar en una modulo y en caso de que este desactualizado que me muestre el form,sino de esta manera me carga un form el cual esta en invisible si esta actualizado.Que opinan??
No se que le puede estar pasando!!
Saludos!