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

Вниз

Надо ли вызывать Coinitialize для обычных глобальных объектов?   Найти похожие ветки 

 
Aleksandr.   (2004-08-19 19:37) [0]

Если объект в констраторе создает ADO-соединение, а в дестракторе его уничтожает. Объект потоком не является, работа с ним ведется через глобальную переменную. И если надо, то где - в констракторе или в initialize?


 
jack128 ©   (2004-08-19 20:19) [1]

Еслитвое адо - соединение создается в основном потоке, то Coinitialize вызывать не нужно - она уж вызвана (в секции инициализации не помню какого модуля) Если же в дополнительном потоке, то вызывать Coinitialize CoUninitialize нужно в методе TTHread.Execute

procedure TDBThread.Execute;
begin
 Coinitialize;
 try
   // Тут работа с ADO
 finally
   CoUninitialize;
 end;
end;


> И если надо, то где - в констракторе или в initialize?
странный вопрос.. секции initialize всех модулей выполняются в основном потоке


 
Aleksandr.   (2004-08-19 20:35) [2]

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


 
KSergey ©   (2004-08-19 21:08) [3]

Offtop on

Я долго силился понять что есть "в констраторе".
После "в дестракторе" дошло ;)

А конструктор/деструктор - не прикольно? ;)

Offtop off


 
jack128 ©   (2004-08-19 21:14) [4]

Хе, а долго думал, в чем суть твоих притензий, пока внимательно не прочитал > "в констрАторе". :-)) Даже не обратил внимания.. ;-) Наверно потому, что сам с орфографией не очень дружу..



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

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

Наверх




Память: 0.47 MB
Время: 0.07 c
1-1094346129
eLVik
2004-09-05 05:02
2004.09.19
Посоветуйте компонент


1-1094477837
Lord de Mon
2004-09-06 17:37
2004.09.19
Ошыбки


14-1093529790
Gero
2004-08-26 18:16
2004.09.19
Браузеры


1-1094298067
race1
2004-09-04 15:41
2004.09.19
отчаянный поток


14-1094036140
Real
2004-09-01 14:55
2004.09.19
Восстановление нормальной загрузки Win9x - Win2000 - Linux