![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отправка почты. Ошибка приложения... [D7, WinXP]
Max.66RUS © (2006-10-29 12:23:00)В приложении используется нижеприведённая процедура для отправки почты. Приложение без формы. Приложение компилируется нормально, но при попытке запуска выдает ошибку:
Exception EPrivilege in module Project1.exe at 006DF6E
Privileged instruction.
А вот и сама процедура:
Procedure SEND_MESSAGE;
Var
IdSMTP1: TidSMTP;
Messages: TIdMessage;
Begin
Messages:=TIdMessage.Create(nil);
Messages.Body.Add('Строка письма');
Messages.From.Text := 'Адрес отправителя'; //
Messages.Recipients.Add;
Messages.Recipients.Items[0].Text := 'Адрес получателя';
Messages.Subject := 'Тема письма';
IdSMTP1.Host := 'Адрес SMTP сервера';
IdSMTP1.Username := 'Имя пользователя';
IdSMTP1.Password := 'Пароль пользователя';
IdSMTP1.Connect();
If IdSMTP1.Connected then
Begin
IdSMTP1.Send(Messages);
End;
IdSMTP1.Disconnect;
End;
Вопрос: в чём может быть ошибка?
Заранее спасибо.
MikePetrichenko (2006-10-29 19:19:00) [1]
> Вопрос: в чём может быть ошибка?
А я бы переформулировал вопрос. И, в данном случае, он должен звучать так:
" Где у меняошибка?"
Ketmar (2006-10-29 12:57:00) [2]>[4] Max.66RUS(c) 29-Oct-2006, 12:37
>Всё заработало.
не верю. в том виде, в котором ты привёл код -- он может работать только случайно. обработки исключений нет, очистки памяти нет, проверок нет... ты сам себе создаёшь проблемы. это -- не код. и если бы ты с ним пришёл в "начинающим", то, скорее всего, получил бы много интересных рекомендаций. не без сарказма, но получил бы. написав же в "Сети" вместо этого, ты открылся для стёба по-полной. ибо предполагается, что ты уже не новичок, и такие элементарные вещи знаешь.
Max.66RUS (2006-10-29 12:37:00) [3]Всё заработало. Всем спасибо. И ещё, если что, то извеняюсь за свои тупые вопросы...
Орион (2006-10-29 12:31:00) [4]+ к мелочам:
> [1] Ketmar © (29.10.06 12:28)
%))
Орион (2006-10-29 12:29:00) [5]> Вопрос: в чём может быть ошибка?
В программе видимо.
Не знаю почему там EPrivilege, но попробуй для начала IdSMTP1 все таки создать.
Ну и по мелочам:
IdSMTP1.Connect();
If IdSMTP1.Connected then
Глупо. Если Connect не выполнится - возникнет исключение, если же выполнится - нет смысла еще раз проверять.
Ketmar (2006-10-29 12:28:00) [6]в неверном выборе хобби автором (и не говорите мне, что это профессия -- у меня психика слабая!).
TIdSMTP кто создавать будет? убирать за собой потом кто будет? а потом удивляются, что подъезды загажены...