Hallo Stefan,
Muss dein Programmcode abwärtskompatibel (< Delphi 2010) sein?
Nein,mein Programmcode muss nicht abwärtskompatibel sein.
Wenn nicht, dann würde ich empfehlen, dich mal mit Generics zu beschäftigen, und die TObjectList<TAnsprechpartner> zu nutzen.
In wie weit erleichtern die mir die Arbeit ?
Wenn ich mir den Source Ausschnitt anschaue, entstehen bei mir auch die Fragen, warum in der Datenobjekt Klasse ein Event steht, was in der Liste enthalten sein sollte. Diese sollte nämlich mitbekommen, wenn ein Element hinzukommt, oder rausgenommen wird. Dies ist übrigens auch in sowohl TObjectList, als auch TObjectList<T> enthalten. Für die Benachrichtigung, wenn ein Wert innerhalb des Datenobjekts verändert wurde, solltest du einen anderen Eventtyp implementieren. Solltest du dich für die Databinding Lösung entscheiden, gibt es dort eine entsprechende Basisklasse, die diese Funktionalität implementiert.
Ich habe damals nach einer Möglichkeit gesucht, die Datenbank-Abfragen vom eigentlichen Programmcode zu trennen. Da bin ich auf die TObjectList mit einer Klasse gekommen und habe mir dieses Konstrukt zusammengebaut, welches auch recht zuverlässig funktioniert. Ich bin natürlich für neue Ideen offen, die mir das Leben noch erleichtern.
Wenn dein Programm noch am Anfang der Entwicklung steht, würde ich dir auch nahelegen, dich mit dem Data Binding Thema zu beschäftigen, denn es klingt gerade zu nach dem prädestinierten Anwendungsgebiet dafür. Falls du Fragen hast und/oder Hilfe brauchst, stehen dir ja einige Wege offen, mich zu erreichen.
Mein Programm steht noch am Anfang der Entwicklung. Ich habe gerade mal die Kundenverwaltung fertig. Ich schaue mir schon Dein Projekt Data Bindings an. Danke schon mal für Dein Hilfeangebot. Wenn ich irgendwas nicht verstehe, werde ich gerne darauf zurückkommen.