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

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

Как совместить сессию и TDataBase потока с bdeAPI? [D7, MSSQL]


Aleksandr. ©   (2004-08-27 15:41:00) 

Согласно правилам, каждый поток должен для работы с БДЕ юзать свой TSession и свой TDataBase. Но у меня в этих потоках истчо и выполняются функции BDE типа dbiDoRestructure и dbiPackTable, для которых функция dbiOpenDataBase наверняка ведь возвращает какой-то свой хэндл и сессию, не совпадающие с VCL-овскими. А как их совместить?


Aleksandr.   (2004-08-27 19:34:00) [1]

Не помогает.


clickmaker   (2004-08-27 18:48:00) [2]


> [7] Aleksandr.   (27.08.04 18:30)

а если DbiInit вызвать в этом потоке?


Aleksandr.   (2004-08-27 18:30:00) [3]

clickmaker ©  :
Проблема в том, что поток вешается в системе (и никакими ТерминатеТреад не снимается), если внутри него работа с БДЕ проводится не через собственные ДатаБазе и Сессион. В какой-то гнусный момент происходит сбой БДЕ и все - до свидания.


clickmaker   (2004-08-27 17:52:00) [4]


> [5] Aleksandr.   (27.08.04 16:51)

Дык а в чем проблема-то? Не срабатывает функция, что-ли?


Aleksandr.   (2004-08-27 16:51:00) [5]

clickmaker ©  :
Так а если она через системную сессию полезет? Из другого-то потока?


clickmaker   (2004-08-27 16:29:00) [6]


> [3] Aleksandr.   (27.08.04 16:15)

а что тебе это так волнует? пусть открывает на здоровье


Aleksandr.   (2004-08-27 16:15:00) [7]

Не, не понял.
Вот функция DbiGetLDName для получения языка таблицы, у нее в параметрах вообще не юзается никакой хендл. А ведь наверняка при ее вызове она в нарушение правила каку-то свою сессию и свою hDBIDB откроет...


Aleksandr.   (2004-08-27 15:59:00) [8]

Понял, спасибо.


clickmaker   (2004-08-27 15:50:00) [9]

TSession.Handle
TDatabase.Handle


Наверх

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