Ado+Access多线程应用,解决后另加200分,帮帮忙呀(50分)

  • 主题发起人 主题发起人 sun_8113
  • 开始时间 开始时间
S

sun_8113

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
constructor TFileCopy.Create(dbPath: String);
begin
FreeOnTerminate := True;
Inherited Create(True);
//activex.CoInitialize(0);
FcurDriverNo := -1;
FStatus := '开始';
Form_Main.SpeedButton2.Enabled := False;
//开始按钮
Form_Main.SpeedButton3.Enabled := True;
Fadoconn := TAdoconnection.Create(nil);
Fadoconn.Close;
Fadoconn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DBPath+';Persist Security Info=False';
Fadoconn.LoginPrompt := False;
Fadoconn.Open;
qry_select := Tadoquery.Create(nil);
qry_Select.Connection := FadoConn;
qry_Update := Tadoquery.Create(nil);
qry_Update.Connection := Fadoconn;
Fquery := Tadoquery.Create(nil);
Fquery.Connection := Fadoconn;
Fquery_File := Tadoquery.Create(nil);
Fquery_File.Connection := Fadoconn;
FCopiedFiles := 0;
//已拷贝的文件总数
FCopiedBytes := 0;
//已拷贝的文件大小
FChangeTime := 0;
//换盘的次数
FCopyTimes := 0;
//已拷贝的时间(单位:秒数)
FStartTickCount := GetTickCount();
self.Synchronize(AddThreadInf);
self.Synchronize(RefreshStatus);
FthreadNo := Self.ThreadID;
self.Resume;
//self.Resume;
//Form_Main.Refresh;
// Test();
//ShowMessage('fff');
end;

destructor TFileCopy.Destroy;
begin
ThreadNum := ThreadNum - 1;
self.Synchronize(DeleteThreadInf);
//activex.CoUninitialize;
qry_select.Close;
qry_Update.Close;
Fquery.Close;
Fquery_File.Close;
Fadoconn.Close;
qry_select.Free;
qry_Update.Free;
Fquery.Free;
Fquery_File.Free;
FadoConn.Free;
[red] //执行这里出错[/red]
//FreeAndNil(FadoConn);
//Fadoconn.Free;
//FreeAndNil(FadoConn);

//Fadoconn := nil;
inherited;
end;
 
建立及释放TFileCopy的数据,不用这么麻烦呀。
技术支持QQ:136293586
 
谁有没有Ado+Access多线程应用的例子也行.
 
后退
顶部