wird in einem Formular ein Timer Object hinzugefügt und im OnTimerScript ein Code hinterlegt wie zum Beispiel:
Code: Alles auswählen
If q_1.State = dssBrowse Then q_1.Refresh;
Hat man jedoch die Datenübersicht geöffnet und das Timerevent wird ausgelöst, wird der Query vom Auflistfenster geschlossen.
Lösung:
In der Unit fBasis die Procedure DoPascalScript entsprechend anpassen mit der Zeile:
Code: Alles auswählen
// letzter Stand: 02.06.2008 by KDP
// Timer Events nur ausführen wenn Formular den Focus hat
// sonst wird der Query von dem Formular geschlossen, das gerade den
// Focus hat.
If (Sender is TTimer) Then Begin
If not Active Then Exit;
End;
Tritt jetzt das Event ein, wird geprüft ob das Formular den Focus hat. Wenn nicht wird die Procedure DoPascalScript ohne Aktion verlassen.