![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Привет Всем! Вопрос по DLL-ке. [D5]
@andrew © (2002-04-01 17:54:00)Моя DLL - это отчет на QRep и ADOQuery. Так вот на строки Form1:=TForm1.Cteate(Application) DLL-ки выдается ошибка "Не был произведен вызов CoInitialize". При этом, если убрать ADO, из DLL, то этот вопрос не возникает. Что это может быть?
Спасибо!
Anatoly Podgoretsky (2002-04-02 13:36:00) [1]В обычном проекте это делается автоматически за тебя
@andrew (2002-04-02 10:50:00) [2]Thanks. Все заработало, но вот такой вопрос для саморазвития: а почаму в обычном проекте ("по умолчанию") при добавлении в него таго же ADOQuery не требуется никакой инициализации Com и использования в проекте ComObj (по крайней мере, я это не описываю и шаблон "по умолчанию" тоже не предлагает)? Или Инициализация прохоисходит в момент Application.Initialize?
Когда я вернусь оттуда, куда меня пошлют :о)) ...все же: хотя бы что почитать? :о))
Shaman_Naydak (2002-04-01 18:35:00) [3]Что написано, то и есть. СОМ не проинициализирован.
В основной проге (там, куда пристыковываешь, напиши uses ComObj;)
Или ты в отдельном потоке вызываешь метод из DLL?
Тогда надо в начале потока написать CoInitialize, и закончить CoUninitialize..
@andrew (2002-04-01 18:00:00) [4]А даже и так. Если заменить ADOQuery на Query, то проблема также исчезает. Но очь хочется использовать ADO.