Witam,
czy ktoś z Was dysponuje przykładem lub jest ogarnięty z wątków i potrafi napisać prosty przykład działającego wątku, który wyglądałby następująco:
Cały moduł składa się z 1 unitu i 1 okna:
WaitProgress.pas; frmWaitForm.pas, frmWaitForm.dfm;
Unit
WaitProgress.pas
posiadałby dwie globalne procedury:
ShowWaitProgress(Form: TForm = nil);
CloseWaitProgress(Form: TForm = nil)
A okno frmWaitForm jakiś element graficzny lub komponent typu WaitProgress, który ukazywałby przebieg procesu dopóki, dopóty nie wywołamy procedure CloseWaitProgress.
ShoWaitProgress - Wyświetla okno frmWaitForm i animuje coś... np ProgressBar w kółko (przykładowo)
CloseWaitProgress - Zamyka i zwalnia okno oraz zakańcza działanie wątku
Przykład:
Unit Main;
uses WaitProgress;
interface
procedure TForm1.Button1.OnClick(Sender: TObject);
begin
Dataset1.SelectSQL.Text := 'select * from tabela';
ShowWaitProgress(self); // Pokaż okno animacji
DataSet1.Open;
CloseWaitProgress(self); // Koniec animacji;
end;
Parametr
TForm
w procedure Show/Close WaitProgress jest dodatkiem, aby w zależności od potrzeby np. przy starcie wątku wykonać Form.Enabled := False;
Z góry dziękuję za pomoc.