Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2008, 19:22   #1
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию Отсылка почты через отдельный поток

Вот код, в котором, наверное, куча ошибок (если он сам не ошибка )
Помогите разобраться с этой байдой:

Код:
uses IdSMTP;
...

{$R *.dfm}
type
TRass = class(TThread)
private
 FHost: string;
 FUserName: string;
 FPassword : string;
protected
 procedure Execute; override;
published
public
 property Host: string read FHost write FHost;
 property UserName: string read FUserName write FUserName;
 property Password: string read FPassword write FPassword;
end;

....
procedure TRass.Execute;
var
smtp: TidSmtp;
begin
smtp := TIdSMTP.Create(nil);
smtp.Connect;
if smtp.Connected then
smtp.Send(Form1.IdMessage1); ???
end;
...

procedure TForm1.Button1Click(Sender: TObject);
var
S: TRass;
begin
s := TRass.Create(True);
s.Host := HostEdit.Text;
s.Username := LoginEdit.Text;
s.Password := PassEdit.Text;
s.FreeOnTerminate := True;;
s.Resume;
end;
При нажатии батона ничего не происходит...
Hottabych вне форума Ответить с цитированием
Старый 11.03.2008, 19:35   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А вы трасировкой не пробовали найти ошибку ? )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи

Последний раз редактировалось Квэнди; 11.03.2008 в 19:37.
Квэнди вне форума Ответить с цитированием
Старый 11.03.2008, 19:46   #3
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

Не понял... Мне просто надо знать, правильно ли я написал класс, метод Execute...
P.S Я ужасно новичок.. Учу Делфи по форумам и по Самоучителю
Hottabych вне форума Ответить с цитированием
Старый 11.03.2008, 19:51   #4
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

наверное ты не заполнил Form1.IdMessage1
а перелаешь в функцию пустую запись
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 11.03.2008, 20:01   #5
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

Я тоже так думал, но прога даже не подключается (SMTP.Connect), т.е соединение не мигает...
Hottabych вне форума Ответить с цитированием
Старый 11.03.2008, 20:07   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

читать умеем ?
Цитата:
А вы трасировкой не пробовали найти ошибку ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 11.03.2008, 20:52   #7
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

F7, F8 нажимал, но толком ничего не понял, все выполняется, программа запускается. При нажатии на Button1 в режиме отладчика события следующие:

Thread Start: Thread ID: 2200. Process Project1.exe (3700)
Module Load: MSWSOCK.dll. No Debug Info. Base Address: $71A30000. Process Project1.exe (3700)
Module Load: DNSAPI.dll. No Debug Info. Base Address: $76F10000. Process Project1.exe (3700)
Module Load: WINRNR.dll. No Debug Info. Base Address: $76FA0000. Process Project1.exe (3700)
Module Load: WLDAP32.dll. No Debug Info. Base Address: $76F50000. Process Project1.exe (3700)
Module Load: mdnsNSP.dll. No Debug Info. Base Address: $16080000. Process Project1.exe (3700)
Module Load: iphlpapi.dll. No Debug Info. Base Address: $76D50000. Process Project1.exe (3700)
Thread Exit: Thread ID: 2200. Process Project1.exe (3700)
Hottabych вне форума Ответить с цитированием
Старый 11.03.2008, 21:09   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

причем здесь это ?
по нажатию F8 у вас отображается текущая строчка, которая будет выполнена, и т.д. так вот... собственно и есть вопрос какие строки выполняются, а какие нет ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 11.03.2008, 21:18   #9
Hottabych
Форумчанин
 
Регистрация: 13.01.2008
Сообщений: 140
По умолчанию

При нажатии ф8 отладчик пробегает по этим строчкам:
program Project1;
......
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
И запускается Application

Т.е по Unit1 не идет

Последний раз редактировалось Hottabych; 11.03.2008 в 21:21.
Hottabych вне форума Ответить с цитированием
Старый 11.03.2008, 22:11   #10
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

потом неажимаешь на "батон" и смотришь, какие там строчки выполняются!!!
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка почты (smtp) через proxy dimonbest Работа с сетью в Delphi 9 20.06.2008 14:07
Отсылка почты через отдельный поток Hottabych Работа с сетью в Delphi 0 11.03.2008 19:32
найти минимальный элемент в каждой строке матрицы и записать все минимальные элементы в отдельный массив W_P Помощь студентам 6 28.12.2007 00:24
MS Excel и MS Outlook (2003) отсылка писем IceB Microsoft Office Excel 1 02.07.2007 13:32