建立一个新工程,并建立一个线程,引用DB,ADODB单元,
然后代码如下:
procedure Tthread.Execute() override
var
DBConn:TAdoconnection;
Begin
DBConn:=TAdoconnection.Create(nil);
end;程序执行到DBConn:=TAdoconnection.Create(nil);
时,系统报错:类未初试化,不知道是什么意思,但在其他单元引用ADODB,并执行DBConn:=TAdoconnection.Create(nil);就没有问题,也就是说,不能在线程中创建CONNECTION对象,要做什么处理么?
然后代码如下:
procedure Tthread.Execute() override
var
DBConn:TAdoconnection;
Begin
DBConn:=TAdoconnection.Create(nil);
end;程序执行到DBConn:=TAdoconnection.Create(nil);
时,系统报错:类未初试化,不知道是什么意思,但在其他单元引用ADODB,并执行DBConn:=TAdoconnection.Create(nil);就没有问题,也就是说,不能在线程中创建CONNECTION对象,要做什么处理么?
type
Tthread = class(TThread)
Con1:TADOConnection;
.....
constructor Tthread.Create(DBCon:TADOConnection);
begin
Inherited Create (True);
Con1:=DBCon;
end;procedure Tthread.Execute() overrideBeginSynchronize(过程名);
end;
procedure tthread.过程名;
var
DBConn:TAdoconnection;
Begin
DBConn:=TAdoconnection.Create(nil);
end;
你可以在创建线程时把TAdoconnection引入
create(Adoconnection:TAdoconnection)