ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/nongui/IBCustomDataSet.pas
(Generate patch)

Comparing ibx/trunk/runtime/nongui/IBCustomDataSet.pas (file contents):
Revision 212 by tony, Wed Mar 14 12:48:51 2018 UTC vs.
Revision 213 by tony, Thu Mar 15 12:53:41 2018 UTC

# Line 301 | Line 301 | type
301      FDelayTimerValue: integer;
302      FTimer: TFPTimer;
303      procedure HandleRefreshTimer(Sender: TObject);
304 +    procedure SetDelayTimerValue(AValue: integer);
305    protected
306      procedure ActiveChanged; override;
307      procedure RecordChanged(Field: TField); override;
# Line 310 | Line 311 | type
311      constructor Create(ADataSet: TIBCustomDataSet);
312      destructor Destroy; override;
313      property DelayTimerValue: integer {in Milliseconds}
314 <            read FDelayTimerValue write FDelayTimerValue;
314 >            read FDelayTimerValue write SetDelayTimerValue;
315    end;
316  
317    TIBGeneratorApplyOnEvent = (gaeOnNewRecord,gaeOnPostRecord);
# Line 1425 | Line 1426 | end;
1426  
1427   procedure TIBDataLink.HandleRefreshTimer(Sender: TObject);
1428   begin
1429 <  FTimer.Interval := 0;
1430 <  FDataSet.RefreshParams;
1429 >  FTimer.StopTimer;
1430 >  if FDataSet.Active then
1431 >    FDataSet.RefreshParams;
1432 > end;
1433 >
1434 > procedure TIBDataLink.SetDelayTimerValue(AValue: integer);
1435 > begin
1436 >  if FDelayTimerValue = AValue then Exit;
1437 >  FDelayTimerValue := AValue;
1438 >  FTimer.Interval := FDelayTimerValue;
1439   end;
1440  
1441   procedure TIBDataLink.ActiveChanged;
# Line 1445 | Line 1454 | procedure TIBDataLink.RecordChanged(Fiel
1454   begin
1455    if (Field = nil) and FDataSet.Active then
1456    begin
1457 +    {$IF FPC_FULLVERSION >= 30002}
1458      if FDelayTimerValue > 0 then
1459 <    begin
1450 <      FTimer.Interval := FDelayTimerValue;
1451 <      FTimer.StartTimer;
1452 <    end
1459 >      FTimer.StartTimer
1460      else
1461 +    {$IFEND}
1462        FDataSet.RefreshParams;
1463    end;
1464   end;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines