//代码如下
unit UClear;interfaceuses
...
type
TfrmMain = class(TForm)
...
private
...
public
...
thdClear:array of ClearThread; //定义线程数组
...
end;
...
function TfrmMain.initThread(): integer ; //初始化线程
var
i,j:integer;
begin
... // 计算线程开其数量
setlength(thdClear,ThreadNum); while not bEnd do //如果没有完成继续循环
begin
for i:=0 to (ThreadNum - 1) do
begin
thdClear[i].Create(TRUE);
//下面开始出错==============================================
if (thdClear[i].delEnd) and (not qryClear.Eof) then //如果此线程空闲并且数据纪录未完,
//delEnd检查线程工作是否完成
begin
for j:=0 to high(thdClear[i].imgList) do
begin
thdClear[i].imgList[j]:=...
Next;
end;
thdClear[i].delEnd:=false;
thdClear[i].Resume;
end;
end;
sleep(100); //每0.1秒检查一次线程队列,察看有无空闲线程
isEnd; //在此检查复制工作是否完成,改变bEnd值
Application.ProcessMessages;
end;
end;...
end.
unit UClear;interfaceuses
...
type
TfrmMain = class(TForm)
...
private
...
public
...
thdClear:array of ClearThread; //定义线程数组
...
end;
...
function TfrmMain.initThread(): integer ; //初始化线程
var
i,j:integer;
begin
... // 计算线程开其数量
setlength(thdClear,ThreadNum); while not bEnd do //如果没有完成继续循环
begin
for i:=0 to (ThreadNum - 1) do
begin
thdClear[i].Create(TRUE);
//下面开始出错==============================================
if (thdClear[i].delEnd) and (not qryClear.Eof) then //如果此线程空闲并且数据纪录未完,
//delEnd检查线程工作是否完成
begin
for j:=0 to high(thdClear[i].imgList) do
begin
thdClear[i].imgList[j]:=...
Next;
end;
thdClear[i].delEnd:=false;
thdClear[i].Resume;
end;
end;
sleep(100); //每0.1秒检查一次线程队列,察看有无空闲线程
isEnd; //在此检查复制工作是否完成,改变bEnd值
Application.ProcessMessages;
end;
end;...
end.
解决方案 »
- QReport中用什么控件可以显示递增的序号(自动生成)?
- 我是个新手,有很多不懂,谁可以帮我!
- 怎么把查询出来的结果生成XML形式的文件?
- 用DELPHI建一个主窗口,点击菜单选项后,打开一个新窗口,原先的主窗口关闭,如何实现?
- 读文件的定位问题
- 生日,在隔离中度过,散分1000……
- 强烈要求不要加入结贴率的功能~~~~
- 求个能导入excel各版本的组件或方法. 大家用什么去兼容的?
- 愿意去上海工作的朋友请看 :http://expert.csdn.net/TopicView.asp?id=47526
- 如何实现类似regedit中的搜索功能?
- 想做一个FlashPlayer,听听大家的意见...
- 請教關于鎖定表的問題.
报错:Access violation as address 00424ca4 in module '程序名'.Write of address 0000000E.
这句有错,改为 thdClear[i] := ClearThread.Create(TRUE);
问题解决,怪我太粗心