Hab hier mal den Code von Dir in eine R5 - DB kopiert (see attached)
ah, läuft. schon mal näher im Debugger angeschaut, was da abläuft?
im Prinzip sehr simpel.
beim Öffnen eines Notesdokuments erzeugst du ein Dokument, das Dokument erzeugt eine History, die History erzeugt einen HistoryEntry
nach dem Speichern sagt das Dokument zur History 'speicher dich', die gibt den Befehl an den HistoryEntry weiter und der schreibt die benötigten Informationen ins NotesDokument.
Jetzt die Erklärung, warum ich es geschickter finde, eine abstrakte HistoryEntry-Klasse und mehrere davon abgeleitete Klassen zu verwenden.
was passiert, wenn von uns eine dritte Art gefordert wird, eine Historie zu schreiben.
an meiner funktionierenden History-Klasse füge ich genau zwei Zeilen hinzu (switch/select - Statement)
und ich erstelle eine neue Klasse für die geforderte dritte Art.
Der Rest meiner Klassen bleibt auf jeden Fall unberührt und muss z.B. nicht nochmal getestet werden, was evtl der Fall bei nur einer Klasse wäre.
Wenn jetzt noch mehr History-Arten verlangt werden, kein Problem. Der Code bleibt klein und übersichtlich. Bei nur einer Klasse könnte es etwas unübersichtlich werden.
Eine Klasse für das alles wäre vollkommen ok gewesen, für sich ändernde Anforderungen aber vielleicht unflexibler als die Variante mit mehreren Klassen.
Ich hoffe, ihr versteht, was ich meine.