Индикатор програсса при работе TidSMTP
Реализована отправка электронной почты через компонент TidSMTP. Прикрутил индикацию прогресса через TGauge. В событиях TidSMTP вписано:
Events "OnBegin"
Код:
procedure TfEmail.SMTPWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);
begin
Gauge1.Progress := 0;
Gauge1.MaxValue := AWorkCountMax;
end;
Events "OnWork"
Код:
procedure TfEmail.SMTPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64);
begin
Gauge1.Progress:=AWorkCount;
end;
при отправке письма индикация не работает. помогите разобраться где проблема. Заранее благодарен
|
camope3, проект, результаты трассировки, краткие входные/выходные данные.
Отлаживать "за глаза" как то не хочется.
|
lxa85, результаты трассировки:
Код:
Status: Disconnected.
Status: Disconnecting.
Status: Encoding attachment
Status: Encoding text
Status: Connected.
Status: Connecting to 94.100.177.1.
Status: Resolving hostname smtp.mail.ru.
Status: Файл успешно отправлен
данные:
Код:
procedure TfEmail.Button1Click(Sender: TObject);
begin
StatusMemo.Clear;
//установки SMTP
SMTP.Username := fSetup.UserEdit.Text;
SMTP.Password := fSetup.PassEdit.Text;
SMTP.Host := fSetup.SmtpEdit.Text;
SMTP.Port := StrToInt(fSetup.PortSmtpEdit.Text);
//установки сообщения
MailMessage.CharSet:='koi8-r'; // для корректности русских букв
MailMessage.From.Address := FromEdit.Text;
MailMessage.Recipients.EMailAddresses := ToEdit.Text;
MailMessage.Subject := TemaEdit.Text;
MailMessage.Body.Text := TextMemo.Text;
if FileExists(FileEdit.Text) then
TIdAttachmentFile.Create(MailMessage.MessageParts, FileEdit.Text);
//отправка письма
try
try
SMTP.Connect;
SMTP.Send(MailMessage);
except on E:Exception do
StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;
|
Время: 11:49.
© OSzone.net 2001-