Главная страница
    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.041 c
15-1185343828
de.
2007-07-25 10:10
2007.08.26
Как вывести имя переменной в сообщении...


15-1185789204
Kerk
2007-07-30 13:53
2007.08.26
Клубом порулить хочется?


15-1185239853
Ганнибал
2007-07-24 05:17
2007.08.26
Нужна программа


2-1185899291
Kaer
2007-07-31 20:28
2007.08.26
Работа с бд Ms Access


2-1186383567
Yekver
2007-08-06 10:59
2007.08.26
Dll с иконками





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский