Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

Вопрос про отправку мыла.   Найти похожие ветки 

 
vegarulez ©   (2007-07-31 11:11) [0]

Привет Мастерам!
У меня вот такой вопрос: я в программке использую кусок, который отправляет данные на мыло:

procedure Smtpsend();
begin
 with Formmain.IdMsgSend do
 begin
   Body.Assign(Memo1.Lines);
   From.Text := "yyy";
   Recipients.EMailAddresses := q[17]; { To: header }
   Subject := FormMain.a; { Subject: header }
   Priority := TIdMessagePriority(mpNormal); { Message Priority }
   ReceiptRecipient.Text := From.Text;
 end;

 {authentication settings}
 Formmain.SMTP.AuthenticationType := atLogin; {Simple Login}
 Formmain.SMTP.UserID :="xxx";
 Formmain.SMTP.Password := "xxx";

 {General setup}
 Formmain.SMTP.Host := "smtp.xxx.ru";
 Formmain.SMTP.Port := 25;

 {now we send the message}
 Formmain.SMTP.Connect;
 try
   Formmain.SMTP.Send(Formmain.IdMsgSend);
 finally
   Formmain.SMTP.Disconnect;
 end;
end;


Так вот при отправке, вся программка "висит" какое-то время... пока письмо не отправится, подскажите как можно сделать, чтобы отправка допустим осуществлялась как-нить в  потоке, не влияя на работу приложения?


 
StriderMan ©   (2007-07-31 11:17) [1]

TIdSMTP.OnWork

туда можно подложить Application.ProcessMessages, только осторожно :)

еще лучше запихнуть прием-отправку в отдельный поток.


 
Savek   (2007-07-31 11:17) [2]

Кинь на форму компонент TIDAntifreeze и радуйся :)


 
StriderMan ©   (2007-07-31 11:20) [3]


> компонент TIDAntifreeze

хе, не знал про такой


 
vegarulez ©   (2007-07-31 11:20) [4]

Savek   (31.07.07 11:17) [2]

Уже есть...

StriderMan ©   (31.07.07 11:17) [1]
>>еще лучше запихнуть прием-отправку в отдельный поток.

Вот это, если можно попдробнее...  Как раз так и хочу сделать, но не знаю как...


 
StriderMan ©   (2007-07-31 11:32) [5]


> Вот это, если можно попдробнее...  Как раз так и хочу сделать, но не знаю как...

прежде всего читать про многопоточные приложения

ну или TThread + F1, если лень :)


 
vegarulez ©   (2007-07-31 12:31) [6]

>>прежде всего читать про многопоточные приложения

у тебя есть какая нить хорошая ссыль на эту тему?
буду очень признателен.


 
StriderMan ©   (2007-07-31 12:46) [7]

честно говоря нет. сам изучал по яндексу и гуглу, по книжкам каким-то еще, уже не помню каким :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
15-1185897195
Kostafey
2007-07-31 19:53
2007.08.26
Тест


15-1185638077
ArtemESC
2007-07-28 19:54
2007.08.26
Опрос


2-1186051620
oleg__
2007-08-02 14:47
2007.08.26
Не загружается DLL


2-1186173219
Johnnnn
2007-08-04 00:33
2007.08.26
Как прекратить выполнение кода?


15-1185521017
Knight
2007-07-27 11:23
2007.08.26
Книгу бы... по, не совсем основам, сети, но для чайника...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский