Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Как совместить сессию и TDataBase потока с bdeAPI?   Найти похожие ветки 

 
Aleksandr.   (2004-08-27 15:41) [0]

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


 
clickmaker ©   (2004-08-27 15:50) [1]

TSession.Handle
TDatabase.Handle


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

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


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

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


 
clickmaker ©   (2004-08-27 16:29) [4]


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

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


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

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


 
clickmaker ©   (2004-08-27 17:52) [6]


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

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


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

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


 
clickmaker ©   (2004-08-27 18:48) [8]


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

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


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

Не помогает.



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
1-1094574745
hgd
2004-09-07 20:32
2004.09.26
Shape как трапеция


14-1094114975
Knight
2004-09-02 12:49
2004.09.26
Кто-нибудь сам мониторы фокусировал?


1-1094565678
Новенький
2004-09-07 18:01
2004.09.26
Как получить первую букву слова введенного в Edit?


6-1090140794
Скив
2004-07-18 12:53
2004.09.26
Нажать "Submit"


14-1094725175
Ditrix
2004-09-09 14:19
2004.09.26
свободное ПО. конференция в Киеве.