Zitat von
Sunlight7:
Lösung:
Das OnChange vorübergehend deaktivieren.
Es gäbe noch die Möglichkeit über eine eigene Variable.
Wobei dieses vorallem Vorteile hätte, wenn mehrere Ereignisprozeduren wärend "gesperrt" werden sollen.
Delphi-Quellcode:
var irgendwas: boolean; // oder in der klasse definiert
procedure TForm1.Edit1Change(Sender: TObject);
begin
if irgendwas then exit;
irgendwas := true;
Edit1.Text := ...;
Edit2.Text := ...;
irgendwas := false;
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
if irgendwas then exit;
irgendwas := true;
Edit1.Text := ...;
Edit2.Text := ...;
irgendwas := false;
end;
für nur
eine Ereignisprozedur ist das natürlich eventuell ewas "zuviel" Aufwand
Wenn die Ereignisprozedur auch veränderlich sein könnte, dann sollte man die aktuelle Zuweisung zwischenspeichern und danach wiederherstellen,
was bei der Methode mit Zusatzvariable natülich nicht nötig wäre.
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var NE: TNotifyEvent;
begin
NE := @Edit1.OnChange;
Edit1.OnChange := nil;
Edit1.Text := Edit1.Text + ' BlaBla';
Edit1.OnChange := @NE;
end;
PS: hab hier och Mehreres? D1, D4, D5, D7, D05, DSB06 und Turbo ... also was soll's?
D4/D7 wird aber genutzt ^^