* Patch from Henrique Werlang to let datalink transmit events ony when active

This commit is contained in:
michael 2021-02-19 15:38:36 +00:00
parent b8155b93cb
commit b70bd9f844

View File

@ -7609,12 +7609,8 @@ Var
B : Boolean;
begin
B:=Assigned(DataSource) and Not (DataSource.State in [dsInactive,dsOpening]);
If B<>FActive then
begin
FActive:=B;
ActiveChanged;
end;
B:=Assigned(DataSource) and not (DataSource.State in [dsInactive, dsOpening]);
SetActive(B);
B:=Assigned(DataSource) and (DataSource.State in dsEditModes) and Not FReadOnly;
If B<>FEditing Then
begin
@ -7663,29 +7659,30 @@ end;
Procedure TDataLink.DataEvent(Event: TDataEvent; Info: JSValue);
begin
Case Event of
if Event = deUpdateState then
CheckActiveAndEditing
else if Active then
case Event of
deFieldChange, deRecordChange:
If Not FUpdatingRecord then
if not FUpdatingRecord then
RecordChanged(TField(Info));
deDataSetChange: begin
deDataSetChange:
begin
SetActive(DataSource.DataSet.Active);
CalcRange;
CalcFirstRecord(Integer(Info));
DatasetChanged;
end;
deDataSetScroll: DatasetScrolled(CalcFirstRecord(Integer(Info)));
deLayoutChange: begin
deLayoutChange:
begin
CalcFirstRecord(Integer(Info));
LayoutChanged;
end;
deUpdateRecord: UpdateRecord;
deUpdateState: CheckActiveAndEditing;
deCheckBrowseMode: CheckBrowseMode;
deFocusControl:
FocusControl(Info);
deFocusControl: FocusControl(Info);
end;
end;