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

Вниз

Проблемы с потоком   Найти похожие ветки 

 
Talla2k ©   (2004-04-22 17:14) [0]

Некоторый код необходимо выполнить в потоке.
Делаю так:

function potok(Param: Pointer): DWord; stdcall;
var
 conn2:_Connection;
begin

conn2:=CoConnection.Create;
conn2.Provider:="EQL OLE DB Provider";
conn2.Properties["DBMS Name"].Value:="L2Com.HcComSessionCreator";
conn2.open("2;0;38400;","1","0",Integer(adConnectUnspecified));
//...
conn2.Close;

Result:=0;
exitthread(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Thread := CreateThread(nil,0,@potok,nil,0,ThreadID);
end;

При выполнении потока получаю ошибку EOleSysError(Не был произведен вызов CoInitialize)
на операторе conn2.Provider:="EQL OLE DB Provider".
З.Ы. Если этот код выполнить без потока,то все работает.
К VCL-контролам в потоке не обращаюсь,и ошибка...
Подскажите где я не прав.
(или нельзя к ADO  в потоке обращаться???).
Заранее спасибо.


 
Reindeer Moss Eater ©   (2004-04-22 17:16) [1]

А ты поверь в текст ошибки.


 
GanibalLector ©   (2004-04-22 18:55) [2]

2 Reindeer Moss Eater ©   (22.04.04 17:16) [1]
Если этот код выполнить без потока,то все работает.


 
Polevi ©   (2004-04-22 18:56) [3]

function potok(Param: Pointer): DWord; stdcall;
var
conn2:_Connection;
begin
 CoInitialize(nil);
 try
   ...
   ...
 finally
   CoUninitialize;  
 end;
end;


 
Jack128 ©   (2004-04-22 18:57) [4]

В орешник...


 
Polevi ©   (2004-04-22 18:58) [5]

PS
также совет гасить все исключения возникающие в поточной ф-ии.


 
Reindeer Moss Eater ©   (2004-04-22 19:20) [6]

2 GanibalLector ©  

Верить в текстовые сообщения об ошибках все же НАДО.


 
GanibalLector ©   (2004-04-23 01:24) [7]

Всем пасибки!!!
Разобрался.Млин,сколько подводных камней ...Какие-то  CoInitialize и CoUninitialize.Даже в книгах такого не видел.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1085154438
Lena19
2004-05-21 19:47
2004.06.06
bitmap в stringlist и обратно


1-1085647677
Dysan
2004-05-27 12:47
2004.06.06
доступ к классу описанному в dll ?


4-1083751788
Серж
2004-05-05 14:09
2004.06.06
Как запретить обновление окон некоего приложения?


14-1085080522
Володя Р
2004-05-20 23:15
2004.06.06
Хочу сделать 3d игру!


1-1085291234
Leaner
2004-05-23 09:47
2004.06.06
Выравнивание ListView по тексту