Главная страница
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.024 c
1-1085088491
ZedeS
2004-05-21 01:28
2004.06.06
Фокус на Edit


1-1085680924
Денис
2004-05-27 22:02
2004.06.06
Перекодировка текста


14-1084627904
DeadMeat
2004-05-15 17:31
2004.06.06
IEXPLORE.EXE


14-1084973432
slaga
2004-05-19 17:30
2004.06.06
как узнать какие значения принемает кнопка на клавиатуре ?


4-1083248401
CrazyDog
2004-04-29 18:20
2004.06.06
текст в чужом окне, но не Edit и не EM_GETSEL