Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ERangeError В чем может быть дело???? [D6, Win2k]


Ryser ©   (2002-08-16 00:58:00) 

используемый код следующий
////////////////////
var
email,login:String;
begin
Query5.First;
while not Query5.Eof do
begin
NMSMTP1.ClearParameters;
email:=Query5.FieldByName("email").AsString;
Memo2.Clear;
Memo2.Lines.Add(email);
//Формирование тела письма
Memo1.Clear;
login:="Здравствуйте, уважаемый "+ Query5.FieldByName("email").AsString;
Memo1.Lines.Add(login);
login:="Это письмо прислано Вам роботом-рассыльщиком";
Memo1.Lines.Add(login);
login:="Остаток на вашем лицевом счете на " + DateToStr(Date()) + " составляет:";
Memo1.Lines.Add(login);
Login:= Query5.FieldByName("ost").AsString+ " условных едениц.";
Memo1.Lines.Add(login);
If NMSMTP1.Connected then
begin
NMSMTP1.Disconnect;
end
Else
begin
NMSMTP1.UserID := "Serg";
NMSMTP1.CharSet:="windows-1251";
NMSMTP1.PostMessage.Body.Assign(Memo1.Lines);
NMSMTP1.PostMessage.FromName := Edit1.Text;
NMSMTP1.PostMessage.ToAddress.Assign(Memo2.Lines);
NMSMTP1.PostMessage.FromAddress :=Edit2.Text;
NMSMTP1.Connect;
NMSMTP1.SendMail;
NMSMTP1.Disconnect;
Query5.Next;
end;
end;

это работает до какого-то момента. Отсылаются несколько писем и вываливается на ошибку ERangeError with message "Range Check Error" В компиляторе отключал проверку - не помогает.


Ryser   (2002-08-16 16:34:00) [1]

А дело вот в чем.
В этом цикле письмо еще фактически не отправилось, а цикл крутится дальше. Вот и ошибка RangeError.
Проблема решилась проверкой действительной отправки сообщения.
И только уже после удачной отправки цикл "едет" дальше!
Вот так...


Наверх

Титульная страница Поиск, карта сайта Написать письмо