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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2009, 18:35   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию Создать отдельный поток для отправки письма

всем привет..есть прога почтовик,просто для отправки письма с прикрепленным файлом, проблема в том что при отправке письма
Код:
procedure TForm1.IdSMTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
 infolabel.Caption:='Отправка письма...';
end;
сообщение об отправке не выводиться,главная форма зависает при отправке и я хотел создать отдельный поток для отправки письма чтоб все сообщения выводились во время,кто подскажет как это сделать??когда я создаю поток то не могу оттуда обращаться к компонентам на главной форме,компонент TidAntiFreeze не помог
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны

Последний раз редактировалось betirsolt; 28.12.2009 в 18:40.
betirsolt вне форума Ответить с цитированием
Старый 28.12.2009, 18:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что TThread пользоватся не умеете?

http://phoenix.ucoz.org/files/exampl...hread-mail.rar
вот похожий пример.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.12.2009, 22:39   #3
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

наконец то у меня получилось!!!!!вот как
Код:
unit mythread;

interface

uses
  Classes,windows,wininet,variants,Messages,SysUtils,Graphics,Controls,Dialogs;

type
  Tmsgsend = class(TThread)
  private
    { Private declarations }


  protected
    procedure Execute; override;

  end;

implementation

uses Unit1, settings;

 function IsConnectedToInternet: Boolean;
 var
   dwConnectionTypes: DWORD;
 begin
   dwConnectionTypes :=
     INTERNET_CONNECTION_MODEM +
     INTERNET_CONNECTION_LAN +
     INTERNET_CONNECTION_PROXY;
   Result := InternetGetConnectedState(@dwConnectionTypes, 0);
 end;

procedure Tmsgsend.Execute;
begin
  { Place thread code here }
 if isconnectedtointernet then
begin

 form1.idSMTP1.Username:=form2.loginedit.text;
 form1.idSMTP1.Password:=form2.passedit.text;
 with form1.idmessage1 do
    begin
   body.Text:=form1.memo1.Text;
   From.Text:=form2.loginedit.text;
   Recipients.EMailAddresses :=form1.adresedit.Text;
   Subject := form1.temaedit.Text;
    end;
   form1.idsmtp1.Connect;

   form1.idSMTP1.Send(form1.IdMessage1);
   form1.infolabel.Caption:='письмо отправлено!';
   form1.idSMTP1.Disconnect;
 end
   else showmessage('Интернет соединение отсутствует');
   if terminated then exit;
end;
end.
а в главной форме пишу следующий код по нажатию кнопки отправить
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
infolabel.Caption:='Отправка письма...';
potok:=tmsgsend.Create(true);
potok.Resume;
potok.Priority:=tplower;

end;
все работает отлично
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Masterhost и форма для отправки письма Wenfor PHP 4 05.11.2009 23:14
Как замутить отдельный поток внутри службы? theYozh Общие вопросы Delphi 0 28.09.2009 18:05
Как использовать несколько edit для отправки письма eldar Работа с сетью в Delphi 2 22.03.2009 20:04
Отсылка почты через отдельный поток Hottabych Работа с сетью в Delphi 16 15.03.2008 11:31
Отсылка почты через отдельный поток Hottabych Работа с сетью в Delphi 0 11.03.2008 19:32