Creating the pipeline

Let's look at the code now. The user interface has one button that can both start and stop the parallel operation. It's OnClick event is shown as follows. When starting the process, it calls the CreatePipeline method. To stop the process, it just calls the pipeline's Cancel method. The pipeline object will be destroyed later, through a termination event. I'll return to that part later.

procedure TfrmPipeline.btnStartClick(Sender: TObject);begin  if btnStart.Tag = 0 then begin    ListBox1.Items.Add(inpStartFolder.Text);    CreatePipeline;    btnStart.Caption := 'Stop';    btnStart.Tag := 1;    TimerUpdateProcessing.Enabled := true;  end  else    if assigned(FPipeline) then      FPipeline.Cancel;end;

The CreatePipeline method (shown as follows) ...

Get Mastering Delphi Programming: A Complete Reference Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.