我做了一个多线程查询的程序,为什么我每次关闭程序的时候都会出现地址访问异常的错误。
解决方案 »
- delphi 如何用tab键在各dbedit切换输入焦点,用enter键确定
- 急问有关ftp的问题
- 数据库查询语句哪里错了?
- LoadFromFile问题
- 有简单问题请教
- Sybase的浮点数与Numeric类型之间隐式转换的问题。急
- 无聊5.1大派分 送出510分~ 之三
- adoQuery 操作access数据库的错误,帮忙看看!
- 如何把stringgrid中的按不同查询条件查询出的结果导出到一个文本文件或excel文件中??
- 高分求!!!如何在delphi5中操作xml文件,比如新建、打开、修改、保存等。
- 如何提取ie临时目录下文件的 internet地址?
- Delphi/VC群[4687580],立志成为好的精品群
procedure TThreadQuery.Execute ;
begin
try
Synchronize(UpdateDevData);
except
Form1.Memo1.Lines.Add('错误T001,更新出错!');
end;
end;procedure TThreadQuery.UpdatedevData ;
begin
devSum := 0;
while (not mQuery.Eof) do
begin
Form1.StatusBar1.SimpleText := '['+dbHNName+' ]将要传送设备数据,这可能需要几分钟时间。正在向服务器更新设备数据......';
if(Form1.InsertNewDevData(mQuery) = '1')then
begin
devSum := devSum +1;
end;
mQuery.Next;
end;
end;
constructor TThreadQuery.Create(objQuery :TADOQuery);
begin
mQuery := objQuery;
inherited Create(true);
FreeOnTerminate := false;
end;线程运用: objQuery是一个ADOQuery对象。这段代码是在定时器中执行的。
if(objQuery.RecordCount > 0) then
begin
objControlTrans.MaxEquipId := objQuery.FieldByName('Id').AsString;
isCancel := true;
ShowData(objQuery); objThreadQuery := TThreadQuery.Create(objQuery); //启动线程
objThreadQuery.Execute ;
if(devSum <> 0) then
begin
isNewDev := true;
end;
end;谢谢了