Открывайте больше ClientDataSets одновременно с TTHread - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок с темами в 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;

Пожалуйста, помогите мне.

...