首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

在线程中创造adoconnetion及adoquery报错

2012-08-25 
在线程中创建adoconnetion及adoquery报错在线程中创建ADO时,在创建时报错数据类型不兼容:Sendth:SendThre

在线程中创建adoconnetion及adoquery报错
在线程中创建ADO时,在创建时报错数据类型不兼容:Sendth:=SendThread.Create(true);这里创建线程时报错“incompatible types:'Tadoconnection' and 'boolean'”
原码如下:

//定义一个发送线程
type
  SendThread=Class(TThread)
  private
  FAdoConnection:TADOConnection;
  FAdoquery:TADOQuery;
  FSql:String;
  protected
  procedure Execute; override;
  procedure SendPro;
  public
  constructor create(AdoConnection:TADOConnection;AdoQuery:TADOQuery;Sql:string);
  end;

implementation

{$R *.dfm}
constructor SendThread.create(AdoConnection:TADOConnection;AdoQuery:TADOQuery;Sql:string);
begin
  inherited create(False);
  FreeOnTerminate:=True;
  FAdoConnection:=AdoConnection;
  FAdoquery:=AdoQuery;
  FSql:=Sql;
end;

procedure TMainFrm.FormShow(Sender: TObject);
var
 SendTh:SendThread;
begin
 Sendth:=SendThread.Create(true);这里创建线程时报错“incompatible types:'Tadoconnection' and 'boolean'”
 Sendth.Resume;
end;

procedure SendThread.Execute;
begin
while not terminated do
begin
  EnterCriticalSection(CS); //进入临界区
  synchronize(SendPro);
  Application.ProcessMessages;
end;
LeaveCriticalSection(CS); //离开临界区
end;


[解决办法]
你定义的构造函数是SendThread.create(AdoConnection:TADOConnection;AdoQuery:TADOQuery;Sql:string);
你看看里面是什么参数,你再看那看你传入的是什么 True,这能匹配吗
[解决办法]
constructor create(AdoConnection:TADOConnection;AdoQuery:TADOQuery;Sql:string); overload;

热点排行