Hallo
am besten vermerkt ihr in einer Variablen
IsRunning : Boolean ob ihr in eurer protected Routine seid und
in der Variablen
CurrentID : Integer welcher der 'aktuelle' Datensatz ist.
zB.
Delphi-Quellcode:
...
type
Txx = class(Txxx)
private
IsRunning : Boolean;
CurrentID : Integer;
protected
procedure InternalDataChange;
public
end;
...
procedure Txx.DataChange(Sender: TObject);
begin
if( (FDataLink.Field <> nil) and not FDataLink.DataSourceFixed) and
((FDataLink.KeyField.AsInteger <> CurrentID) and not IsRunning)) and
((FDataLink.KeyFieldName <> '') or (FDataLink.ImageNameFieldName <> '')) then
begin
...
InternalDataChange;
...
end;
end;
...
Viele Grüße
Alter Mann