Главная страница
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.046 c
3-1083823937
goozman
2004-05-06 10:12
2004.06.06
Дерево в БД


1-1085392945
AleKo
2004-05-24 14:02
2004.06.06
Преобразовать тип.


1-1085136758
sesh
2004-05-21 14:52
2004.06.06
в чем проблема, не догоню


4-1083243415
DoG
2004-04-29 16:56
2004.06.06
CreateNamedPipe


14-1084803148
Delphi5.01
2004-05-17 18:12
2004.06.06
Mircosoft Access, eto realno?