powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / АДО, почта, сервис...
3 сообщений из 3, страница 1 из 1
АДО, почта, сервис...
    #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
АДО, почта, сервис...
    #33680995
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CoInitialize и де... должно вызываться каждый раз в каждой нитке
...
Рейтинг: 0 / 0
АДО, почта, сервис...
    #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
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / АДО, почта, сервис...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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