![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
У меня консольное приложение. Нужно отправить почту, используя компонент idSMTP. Но когда дело доходит до до использования компонента, прога вылетает. Вот код процедуры:
Если всё это сделать с формой и дописать перед каждым idSMTP1 и idmessage1 form1. , то всё работает. В чём тут дело? |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 1 Всего: 102 |
я чегото не вижу где у тебя этот самый idSMTP1 создается... или это кусок кода?
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
idSMTP1:=TidSMTP1.Create();
у тебя вообще есть? Или ты его только в var'ах определил? |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
z-END
Да, действительно не создаётся. А как его создать? |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 1 Всего: 102 |
Snowy уже написал:)
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
В начало процедуры вставил idsmtp1:=tidSMTP.Create(idsmtp1);
Тоже самое. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Нет, в качестве параметра нужно передать хэндл какого-нить окна (обычно главное). Но для консольного это затруднительно. Попробуй в скобках просто дать nil.
И не забуть после использования или при выходе уничтожить объект: IdSMTP.Free; |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Snowy
При чём тут хэндл? tidSMTP.Create(AOwner:TComponent); А с nil не работает. |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 1 Всего: 102 |
ну тогда добавь в Uses Forms
и сздавай так: idsmtp1 := tidSMTP.Create (Application); -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
z-END
Так не годится, размер становится большой. Хотя если так сделать, всё равно не работает. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Ну перепутал. Указатель на TComponent. Которого у тебя в консоли нет.
Вот, немного неполный твой код, который я доработал до рабочего состояния. Проверил - работает. nil подходит. Просто ты и IdMessage тоже не создал.
Но имей ввиду, что нужно еще ексепшены обрабатывать. Вдруг коннекта не будет. Это сообщение отредактировал(а) Snowy - 25.2.2005, 17:45 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |