Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

не могу создать AdoConnection в потоке [D7, dBase, FoxPro]


Очень злой ©   (2011-03-01 13:14:00) 

пытаюсь сделать
AdoFox:=TAdoConnection.Create(Application)
в дополнительном потоке.
Не хочет работать.
Это вообще можно делать в доп. потоке?


Anatoly Podgoretsky   (2011-03-02 09:44:00) [1]


> А "не хочет работать" - это просто образное выражение.

Клиент уходит в несознанку.


Очень злой   (2011-03-01 15:07:00) [2]


> А зачем давил исключение бессмысленным сообщение?


Года 2-3 вообще не занимался Delphi. Позабывал много чего. :(


Inovet   (2011-03-01 15:04:00) [3]

> [8] Очень злой   (01.03.11 14:41)
> Не был произведен вызов Coinitialize

А зачем давил исключение бессмысленным сообщение?


Очень злой   (2011-03-01 14:42:00) [4]

Спасибо!!!


Противный   (2011-03-01 14:41:00) [5]

Потому что ADO - оно COM.


Очень злой   (2011-03-01 14:41:00) [6]


> except
>  on E:Exception
>             s.XStatus:=E.Message;


Не был произведен вызов Coinitialize


Противный   (2011-03-01 14:39:00) [7]

procedure TMyThread.Execute;
begin
 CoInitialize(nil);
 try
   AdoFox:=TAdoConnection.Create(nil);
   {...}
 finally
   CoUninitialize;
 end;
end;


clickmaker   (2011-03-01 14:33:00) [8]

except
 on E:Exception
            s.XStatus:=E.Message;


Очень злой   (2011-03-01 14:29:00) [9]

Убрал Application, все равно не хочет работать.
Все равно срабатывает исключение:

         ...
         sleep(1000); // Задержка чтобы успеть увидеть в чем проблема
         try
            AdoFox:=TAdoConnection.Create(nil);
         except
             s.XStatus:='Не хочу работать';
             sleep(1000);
         end;
         ...


Очень злой   (2011-03-01 14:22:00) [10]


>
> > Не хочет работать.
> больно слышать.


> > Не хочет работать.
>
> так и говорит "не хочу!"?


В основном потоке работает, а в дополнительном возникает эксепшен.
А "не хочет работать" - это просто образное выражение.


> Application у тебя тоже в дополнительном потоке?


О... А я ведь просто код, нормально работавший в основном потоке решил перенести в дополнительный, а об этом и не подумал...
Спасибо.


clickmaker   (2011-03-01 14:02:00) [11]

> Не хочет работать.

так и говорит "не хочу!"?


sniknik   (2011-03-01 13:55:00) [12]

> AdoFox:=TAdoConnection.Create(Application)
Application у тебя тоже в дополнительном потоке?

> Не хочет работать.
больно слышать.

> Это вообще можно делать в доп. потоке?
да.


Наверх

Титульная страница Поиск, карта сайта Написать письмо