unit PrimeForm; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TPrimeFrm = class(TForm) NumEdit: TEdit; SpawnButton: TButton; procedure SpawnButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var PrimeFrm: TPrimeFrm; implementation uses PrimeThread; {$R *.DFM} procedure TPrimeFrm.SpawnButtonClick(Sender: TObject); var NewThread: TPrimeThrd; begin NewThread := TPrimeThrd.Create(True); NewThread.FreeOnTerminate := True; try NewThread.TestNumber := StrToInt(NumEdit.Text); NewThread.Resume; except on EConvertError do begin NewThread.Free; ShowMessage('That is not a valid number!'); end; end; end; end.