Hm, mal sehen ob ich das verstanden habe.
Meine Klasse müsste also (stark vereinfach) wie folgt aussehen:
Delphi-Quellcode:
type
TComplexDataObject = class(TObject)
private
FData : array of array of array of TComplex;
FOnPogress : TNotifyEvent;
public
procedure FFT();
property OnProgress:TNotifyEvent read FOnProgress write FOnProgress;
end;
procedure TComplexDataObject.FFT();
begin
// FFT in X Richtung Berechnen
if Assigned(FOnProgress) then
FOnProgress;
// FFT in Y Richtung Berechnen
if Assigned(FOnProgress) then
FOnProgress;
// FFT in Z Richtung Berechnen
if Assigned(FOnProgress) then
FOnProgress;
end;
auf meinem Formular habe ich dann einen Button und eine ProgressBar.
Delphi-Quellcode:
var
CplxObject : TComplexDataObject;
[...]
procedure TForm1.Button1Click(Sender: TObject);
begin
CplxObject.OnProgress := ProgressBar1.Step(1);
CplxObject.FFT();
end;
Aber wie mache ich das dann, wenn ich jetzt nicht einen Step, sondern mal 10 oder mal 5 oder mal 27 Steps gleichzeitig ausführen will?
Der/Das Event soll also einen Wert zurückgeben, wieviel % der Gesamten-Schrittzahl schon abgearbeitet ist.
Grüße
Wolf
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)