Einzelnen Beitrag anzeigen

Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#6

Re: In Events anderer Komponenten einklinken - Kreuzreferenz

  Alt 10. Jul 2006, 17:30
Hello again...

Zitat von marabu:
Was machst du, wenn der event handler der externen DataSet-Komponente, auf welche FTable verweist, zur Laufzeit geändert wird - nachdem deine Komponente intern bereits eigenen Code vorgeschaltet hat?
Blöd ausschauen, da die 'Observer-Komponente' immer noch unbekümmert den alten Handler aufrufen würde... es sei denn, ich rufe die Methode UpdateLinks des Observers auf, wenn ich den Handler 'umhänge' oder entferne...

Zitat von marabu:
Damit will ich andeuten, dass man eine genauere Beschreibung der Funktionalität deiner Komponente braucht, um vernünftige und praktikable Vorschläge zur Implementierung machen zu können.
Ich glaube aber, daß die eigentliche Funktionalität der jeweiligen Komponenten nicht wirklich weiter hilft - dafür sind es auch einfach zu viele in ihrer Funktion völlig verschiedene, die sich inzwischen dieser 'Technik' (die noch nicht wirklich eine ist...) bedienen. Geh bitte wenn möglich einfach davon aus, daß zB jeder Dataset mehrere 'Observer' sowie evt zusätzliche event handler auf Form-Ebene haben kann (bzw haben können sollte).

Zitat von marabu:
Die Vorgabe eines surrogate key in deiner Vorschaltroutine ist wohl auch kein gutes Beispiel - diese Funktionalität wäre im eigentlichen event handler des DataSets wohl besser aufgehoben.
Hier steh ich auf'm Schlauch... was meinst du hier mit einem 'surrogate key'?

Zitat von marabu:
Wenn du mit einer Zentralinstanz eine zusätzliche aktive Komponente meinst, dann nein. Du kannst die benötigte Observer-Funktionalität ja einfach in den event handler OnNewRecord() des DataSets packen und die Liste der Observer in einer ObjectList verwalten, welche du in DataSet.Tag mitführst.
Das klingelt mir schon etwas einleuchtender, aber auch noch nicht wirklich 'plastisch'. Soweit ich das verstehe, müßte dann aber jeder Dataset der 'observiert' werden könnte, auch einen event handler auf Form-Ebene haben, der die 'Observer' koordiniert - und da würde ich dann doch schon wieder mit einer zentralen Instanz liebäugeln. Oder hättest du da vielleicht mal ein wenig Pseudo-Code, der mich noch weitergehender erhellt...?

Wieder Gruß zurück,

peinhard
  Mit Zitat antworten Zitat