
um TDataSource und TDataSet zu bündeln habe ich eine Klasse (TCL_Dao) angelegt. Im Constructor dieser Klasse werden TDataSource und TDataSet übergeben. Die Klasseneigene Methode: ON_DataChange wird mit der TDataSource.OnDataChange := @ON_DataChange
verbunden.
Die Attribute für diese Klasse liegen alle in TDataModul. (mo_DAO_Namen)
Über den Public Bereich im TDataModul liefere ich die Dao's als Property's nach aussen.
( DAO_Namen : TCL_Dao READ mo_DAO_Namen ).
Nun stellt diese Dao Klasse ebenfalls ein Property: OnDataChange zur Verfügung.
Obwohl ich dieses Property in der Klasse setze ( Dao_Namen,ONDataChange := @EVTHDL_OnDataChange ) in welcher dieses Property benötigt wird, ist bei Aufruf von z.B. DAO.Open( Methode ist implementiert) wird zwar der Eventhandler TCL_Dao.ON_DataChange gerufen,
jedoch das Property OnDataChange welches in diesem Handler gerufen wird ist immer NIL.
Gibt es im Debugger die Möglichkeit, das dieser immer dann anhält, wenn das Property auf NIL gesetzt wird?
Ich habe eine kleine Test Version aus dem riesigen Programm erstellt. Aber hier funzt alles so wie erwartet. Kann somit also nicht mit einem Beispiel dienen.
Dennoch Sende ich mal dieses Beispiel. Im Coding ist es dokumentiert.
Hat jemand eine Idee wie ich diesen (meinen) Fehler ausfindig machen kann?
Viele Grüße
Lorca
