Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Управление TADODataSet из TThread [D6, Win2k]


Goga ©   (2004-09-21 13:23:00) 

Уважаемые мастера подскажите, что я делаю не так:
есть
 PADODataSet=^TADODataSet;
 TClientThreads = class(TThread)
 private
   FComponent: PADODataSet;
...
constructor TClientThreads.Create(srcQuery: String; AObject: PADODataSet);
begin
 FComponent:=AObject;
 inherited Create(True);
 FreeOnTerminate:=True;
end;

procedure TClientThreads.Execute;
...
     if FComponent.Active then
       FComponent.Active:=False;
     FOutBuf.SaveToFile(FComponent.CommandText);
     FComponent.Active:=True;
в последней строке возникает сообщение об ошибке:
"Не был произведен вызов CoInitialize".


Amoeba   (2004-09-21 14:41:00) [1]


> Goga   (21.09.04 14:22) [2]
> А если не секрет как инициализировать указатель?

TADODataSet уже есть указатель. Прочитай сперва букварь, прежде чем лезть в TThread!


Goga   (2004-09-21 14:22:00) [2]

А если не секрет как инициализировать указатель?


KSergey   (2004-09-21 13:28:00) [3]

> "Не был произведен вызов CoInitialize".

Ну так вызовете! Чего стесняться-то?
Хотя, если честно, я бы не советовал так вот вольно обращаться к объекту из другого потока. Тогда уж здесь его и создавать.
Но тогда и коннект у него должен быть свой.

А вообще - посмотрите на асинхронной выполнение команд ADO-объектами: может его будет вам достаточно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо