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; |
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); |
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; |
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; |