Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / АДО, почта, сервис... / 3 сообщений из 3, страница 1 из 1
20.04.2006, 14:16
    #33679366
Гуфыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АДО, почта, сервис...
Есть сервис. В сервисе крутица такая штука (CoInitialize(NULL); сделано на старте сервиса), когда происходит отключение SQL сервера, должно посылаца письмо..оно посылаеца, но раза 2-3 потом перестает посылаца совсем наглухо, те если потом сервер SQL включить - все равно не шлеца.. Ошибок в лог не пишет, кроме как есть конект или нет конекта..
В чем проблема?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
void __fastcall TService::Timer1Timer(TObject *Sender)
{
...
if(ADOConnection1->Connected == false)
 {
        try
            {
              NMSMTP1->Connect();
              NMSMTP1->SendMail(); // не связи
              NMSMTP1->Disconnect();
              Timer1->Enabled = false;
              Sleep( 100000 );
              Timer1->Enabled = true;
            }
             catch(Exception &exception)
            {
             Log(exception.Message);
            }

           try
          {
            ADOConnection1->Connected = true;
            Log("Connect to \\\\"+SQL_SERVER+" - OK!");
          }
            catch(Exception &exception)
          {
            Log("Error connect to \\\\"+SQL_SERVER+" "+ exception.Message);
          }
 }
 else 
 {
       try
            {
              NMSMTP1->Connect();
              NMSMTP1->SendMail(); // все зашибись 
              NMSMTP1->Disconnect();
              Timer1->Enabled = false;
              Sleep( 100000 );
              Timer1->Enabled = true;
            }
             catch(Exception &exception)
            {
             Log(exception.Message);
            }
 }
...
}
...
Рейтинг: 0 / 0
21.04.2006, 02:23
    #33680995
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АДО, почта, сервис...
CoInitialize и де... должно вызываться каждый раз в каждой нитке
...
Рейтинг: 0 / 0
21.04.2006, 13:29
    #33682429
Гуфыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
АДО, почта, сервис...
Проблема решена.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
void __fastcall TMailService::Timer1Timer(TObject *Sender)
{
 if(DataModule2->ADOConnection1->Connected == false)
 {
 Timer1->Enabled = false;
 try
  {
         MailService->Log("No connect. Try connect...");
         DataModule2->ADOConnection1->Connected = true;

          if(DataModule2->ADOConnection1->Connected == true)
          {
            MailService->Log("Connect to \\\\"+MailService->SQL_SERVER+" - OK!");
          }
  }
   catch(Exception &exception)
  {
     MailService->Log("Error connect to \\\\"+MailService->SQL_SERVER+" "+ exception.Message);
            SendMailError(errormsg);
            Sleep( 100000 );
          }
  }
 Timer1->Enabled = true;

..........
 }
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / АДО, почта, сервис... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]