我是delphi中线程的初学者。我写了这段代码,它工作得很好。
它从打开 ClientDataSet1 开始,直到完成,然后打开 ClientDataSet2,依此类推。
我的问题是:如何同时开始打开它们。
TTHread.CreateAnonymousThread(
procedure
begin
TTHread.Synchronize(nil,
procedure
begin
with ClientDataSet1 do
try
ProgressBar1.Max := 2000; // number of records of ClientDataSet1
PacketRecords := 50;
Open;
DisableControls;
while not Eof do
begin
ProgressBar1.Position := ProgressBar1.Position + 1;
Label1.Caption := ClientDataSet1.RecordCount.ToString;
Next;
Application.ProcessMessages;
end;
EnableControls;
except
// ShowMessage(Msg);
end;
end);
TTHread.Synchronize(nil,
procedure
begin
with ClientDataSet2 do
try
ProgressBar2.Max := 2330; // number of records of ClientDataSet2
PacketRecords := 80;
Open;
DisableControls;
while not Eof do
begin
ProgressBar2.Position := ProgressBar2.Position + 1;
Label2.Caption := ClientDataSet2.RecordCount.ToString;
Next;
Application.ProcessMessages;
end;
EnableControls;
except
// ShowMessage(Msg);
end;
end);
end).Start;
请帮我。