Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problem mit TEdit und String

  Alt 9. Okt 2006, 10:18
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 ^^
$2B or not $2B
  Mit Zitat antworten Zitat