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

Вниз

Компоненты ADO в консольном приложении   Найти похожие ветки 

 
iZEN ©   (2002-11-15 12:08) [0]

Компоненты ADO в консольном приложении. :[
Возможно ли такое в принципе?

Столько времени уже пробую создать консольное приложение, где в run-time инстанцируются компоненты TADOConnection и TADOQuery.
Создаются нити на основе TThread, в которые передаются экземпляры этих компонентов и они начинают работу (должны начать - в оконном приложении так всё и происходит).
Далее, основную нить консольного приложения "зацикливаем":

...
{$APPTYPE CONSOLE}
...
var
Connection: TADOConnection;
Query: TADOQuery;
Writer: TWriterTask;//Дочерняя нить
...
begin
Connection := TADOConnection.Create(nil);
Query := TADOQuery.Create(nil);
Query.Connection := Connection;
Writer := TWriterTask.Create();
Writer.FreeOnTerminate := True;
Writer.SetConnection(Connection);
//---Стартуем нить
Writer.Resume();
...
//Зацикливаем главную нить (бесконечно)
while (True) do begin Sleep(2000); end;
//Завершение работы приложения
...
end.

Компиляция происходит нормально. А на запуске происходит облом в строчке:

Connection := TADOConnection.Create(nil);


Как это побороть?

P.S. И с сервисом та же проблема: не хотят инстанцироваться компоненты ADO :((


 
asmith   (2002-11-15 12:51) [1]

Ты не можешь работать с ADO потому, что не инициализирована среда COM. В обычной аппликации это делает строка
Application.Initialize;
dpr-файла. Так что перед Connection := TADOConnection.Create(nil); поставь вызов CoInitialize(nil);
а после //Завершение работы приложения
вызови CoUninitialize();



 
iZEN ©   (2002-11-15 13:26) [2]

Подскажете, какой модуль подключить к проекту консольного приложения, чтобы можно было вызвать CoInitialize(nil); ?


 
iZEN ©   (2002-11-15 14:28) [3]

Спасибо, разобрался (подсказали на RSDN).

С консольным приложением разобрался, а с сервисом никак - останавливается, зараза, нечего ему делать, видите ли. :(



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-14392
Spartak
2002-11-14 20:42
2002.12.05
Какие файлы использует приложение с базой данных ?


6-14708
YDV
2002-08-17 10:03
2002.12.05
Доброго времени суток! TNMUDP закрывает OnCloseQuery у формы !!!


7-14843
hitek
2002-07-29 10:57
2002.12.05
Копирование файлов


1-14656
oleg_er
2002-11-25 15:23
2002.12.05
StatusBar


7-14835
LazyCat
2002-10-04 16:57
2002.12.05
Как определить, что за компутером никто не сидит?