![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо ли вызывать Coinitialize для обычных глобальных объектов? [D7, MSSQL]
Aleksandr. © (2004-08-19 19:37:00)Если объект в констраторе создает ADO-соединение, а в дестракторе его уничтожает. Объект потоком не является, работа с ним ведется через глобальную переменную. И если надо, то где - в констракторе или в initialize?
jack128 (2004-08-19 21:14:00) [1]Хе, а долго думал, в чем суть твоих притензий, пока внимательно не прочитал > "в констрАторе".:-)) Даже не обратил внимания.. ;-) Наверно потому, что сам с орфографией не очень дружу..
KSergey (2004-08-19 21:08:00) [2]Offtop on
Я долго силился понять что есть "в констраторе".
После "в дестракторе" дошло ;)
А конструктор/деструктор - не прикольно? ;)
Offtop off
Aleksandr. (2004-08-19 20:35:00) [3]Спасибо, понял.
jack128 (2004-08-19 20:19:00) [4]Еслитвое адо - соединение создается в основном потоке, то Coinitialize вызывать не нужно - она уж вызвана (в секции инициализации не помню какого модуля) Если же в дополнительном потоке, то вызывать Coinitialize CoUninitialize нужно в методе TTHread.Execute
procedure TDBThread.Execute;
begin
Coinitialize;
try
// Тут работа с ADO
finally
CoUninitialize;
end;
end;
> И если надо, то где - в констракторе или в initialize?
странный вопрос.. секции initialize всех модулей выполняются в основном потоке