hola a la familia del club, tengo un form donde envio un correo con adjunto y s me demora un poco, entonces los usuarios piensan que esta colgada... ahora me gustaria mostrar un Guage mientras ocurre este proceso... les pongo la unit para que vean y me dicen cual podria ser la solucion... a, ya busque y no encuentro nada que se ajuste a lo que necesito.
Gracias de antemano.
Código Delphi
[-]
procedure EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje: String );
var SMTP: TIdSMTP;
Mensaje: TIdMessage;
Adjunto: TIdAttachment;
begin
SMTP := TIdSMTP.Create( nil );
SMTP.Username := sUsuario;
SMTP.Password := sClave;
SMTP.Host := sHost;
SMTP.Port := 25;
SMTP.AuthenticationType := atLogin;
Mensaje := TIdMessage.Create( nil );
Mensaje.Clear;
Mensaje.From.Name := sDestino;
Mensaje.From.Address := sDestino;
Mensaje.Subject := sAsunto;
Mensaje.Body.Text := sMensaje;
Mensaje.Recipients.Add;
Mensaje.Recipients.Items[0].Address := sDestino;
if sAdjunto <> '' then
begin
if FileExists( sAdjunto ) then
Adjunto := TIdAttachment.Create( Mensaje.MessageParts, sAdjunto );
end
else
Adjunto := nil;
try
SMTP.Connect;
except
raise Exception.Create( 'Error al conectar con el servidor.' );
end;
if SMTP.Connected then
begin
try
SMTP.Send( Mensaje );
except
raise Exception.Create( 'Error al enviar el mensaje.' );
end;
try
SMTP.Disconnect;
except
raise Exception.Create( 'Error al desconectar del servidor.' );
end;
end;
procedure TFormemail.btnenviarClick(Sender: TObject); var path : string;
begin
EnviarMensaje ('usuario', 'pass', 'ejemplo.com',
path , 'Reporte de Calidad',
'usuario@ejemplo.com', 'Reporte de Calidad' );
end;