Thema Datum  Von Nutzer Rating
Antwort
28.03.2023 08:27:00 Gast85739
NotSolved
28.03.2023 11:01:11 Mase
NotSolved
28.03.2023 11:28:54 Zwenn
NotSolved
28.03.2023 13:34:35 Gast58474
NotSolved
28.03.2023 12:51:41 Gast11171
NotSolved
Blau OOP: Event Handling aus Objekt in einer Collection
28.03.2023 13:51:09 Gast42008
NotSolved
28.03.2023 13:28:00 Gast28247
NotSolved

Ansicht des Beitrags:
Von:
Gast42008
Datum:
28.03.2023 13:51:09
Views:
517
Rating: Antwort:
  Ja
Thema:
OOP: Event Handling aus Objekt in einer Collection

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 =(


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.03.2023 08:27:00 Gast85739
NotSolved
28.03.2023 11:01:11 Mase
NotSolved
28.03.2023 11:28:54 Zwenn
NotSolved
28.03.2023 13:34:35 Gast58474
NotSolved
28.03.2023 12:51:41 Gast11171
NotSolved
Blau OOP: Event Handling aus Objekt in einer Collection
28.03.2023 13:51:09 Gast42008
NotSolved
28.03.2023 13:28:00 Gast28247
NotSolved