ich habe eine Ereignissprocedure wie z.B. diese
Code: Alles auswählen
procedure TForm1.FloatSpinEdit1Change(Sender: TObject);
begin
machwas;
end;
Wie kann ich dass Ereigniss zeitweise deaktivieren ?
Gruß Frank
Code: Alles auswählen
procedure TForm1.FloatSpinEdit1Change(Sender: TObject);
begin
machwas;
end;
Code: Alles auswählen
FloatSpinEdit1.OnChange := Nil; // deaktivieren
FloatSpinEdit1.OnChange := FloatSpinEdit1Change; // aktivieren
Code: Alles auswählen
FloatSpinEdit1.OnChange := FloatSpinEdit1Change; // aktivieren
Code: Alles auswählen
{$mode delphi}
...
FloatSpinEdit1.OnChange := Nil; // deaktivieren
FloatSpinEdit1.OnChange := FloatSpinEdit1Change; // aktivieren
Code: Alles auswählen
{$mode objfpc}{$H+}
...
FloatSpinEdit1.OnChange := Nil; // deaktivieren
FloatSpinEdit1.OnChange := @FloatSpinEdit1Change; // aktivieren
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Ja, du iterierst über jede Komponente, über jede Property (RTTI). Wenn die Property mit On... anfängt, speicherst du den Inhalt in einer Map und setzt es auf nil.Flenser hat geschrieben:Gibt es eine Möglichkeit, das Auslösen von Ereignissen für alle Komponenten zu unterbinden, ohne dass man für jede Komponente die festgelegte Ereignisprozedur zurück- und neusetzen muss?