Einzelnen Beitrag anzeigen

ranger

Registriert seit: 25. Mai 2007
9 Beiträge
 
#1

Prinzipielle Frage zu OnDataChange von Datasource

  Alt 18. Dez 2009, 10:17
Datenbank: Oracle • Zugriff über: ODAC
Hoffe jemand kann mir weiterhelfen, ich "verstehe" die Aufrufe des OnDataChange-Ereignisses nach aktivieren und nach refreshen einer Datenbankverbindung nicht ganz;

habe folgendes Problem: möchte bei einem Datensatzwechsel über das OnDataChange-Ereignis irgend eine externe Delphi-Funktion starten, die bestimmte Berechnung macht und Ergebnis zu dem gerade gewechselten Datensatz anzeigt;

nun habe ich das Problem dass

1.) beim aktivieren der zum Dataset gebundenen Query das OnDataChange bereits 3x ausgeführt wird, und immer mit dem selben Datasource.State

2.) beim Refresh das ereignis sogar 5x aufgerufen wird!!! ich möchte aber aus zeittechnischen Gründen die Berechnung, die ich im DataChange-Ereignis ausführe, nicht x-mal ausführen, sondern nur 1x!!!


Beim Datensatzwechsel klappts dann perfekt, Ereignis wird nur 1x aufgeführt! Aber ansonsten vergeude ich unnötige Rechenzeit durch unnötige Aufrufe.

Kann mir jemand erklären, warum das Ereignis so oft ausgeführt wird?


Wenn ich ein Grid von DevExpress zu dem DataSource hänge, dann erfolgt der OnDataChange-Aufruf sogar noch öfters.

Wie löst ihr prinzipiell solche Probleme? Ist das Koppeln an das OnDataChange der Datasource der richtige Ansatzpunkt?
  Mit Zitat antworten Zitat