Hallo,
dein Hinweis mit dem ModuleManager / Mediator ist gut - dem werde ich nachgehen. Danke dafür.
Eine Idee die ich hatte ist eine Custom Collection Klasse (clsModuleCollection) zu erstellen, die ein Public Event "moduleChanged" feuern kann und das Objekt übergibt. Aber auch da muss ja erst erkannt werden können, dass die clsModule Instanz ein Event gefeuert hat (dein Hinweis zum ModuleManager / Mediator).
Einige OOP Features werden leider von VBA nicht untersützt, ja. Persönlich bin ich kein Freund von Vererbung, deshalb vermisse ich das in VBA nicht unbedingt. Ich löse das durch einen manuellen Konstruktor und dependency injection (siehe Parameter ". Dass es z.B. keinen Standardkonstruktor gibt ist dagegen total nervig.
Polymorphismus (Interfaces) geht in VBA, was schon mal gut ist.
Hier gibt es einen Post auf Englisch, über den das als custom Wrapper Klasse gelöst wird, allerdings für Outlook Standardobjekte:
https://codekabinett.com/rdumps.php?Lang=2&targetDoc=vba-handling-events-indefinite-sources
Dort wird das Event auf dem Parent Objekt "Outlook.Application" ausgelöst (also schon gem. Objektkatalog registriert) und damit der bereits eingebaute Handler ausgelöst. Ich habe das leider nicht auf mein Custom Classes Szenario übertragen bekommen =(
|