Domino 9 und frühere Versionen > Entwicklung

Wie kann ich eine Klasse sinnvoll aufbauen ?

<< < (17/41) > >>

TMC:
Danke, Ulrich.

Wobei: es sind wohl erst gute 50% fertig, viele Feinarbeiten sind noch zu tun und noch ein paar Dinge zu implementieren.

Zum Bug:
Hatte ich vorhin auch gerade entdeckt  ;) (siehe Anmerkung in Antwort 77).

TMC:
Nochmal zu diesem Bug (Initial-Values werden nicht neu gesetzt nach dem Speichern):

Man könnte den beheben in dem man einfach das History-Objekt neu erstellt beim PostSave in der HistoryMonitorDoc-Klasse:


Ist imho aber nicht sauber.

Hmm, alternativ könnte man die "Private Sub readInitialValues()" der HistoryMain - Klasse aufmachen und zu Public machen, und dann in der HistoryMonitorDoc - Klasse dann folgendes machen:

 Private Sub ProcessPostSave(Source As NotesUIDocument)
         'nach dem Speichern des Dokuments muss die History geschrieben werden
      Call m_History.save()
      'Nun müssen die neuen Werte wieder gesetzt werden.
      Call m_History.ReadInitialValues()
   End Sub

animate:
funktioniert ;D

zu den Hilfsfunktionen:
Explode und ErrorHandler sind Kandidaten für eine 'Hilfsfunktions-Bibliothek'

die anderen haben alle was mit Feldern zu tun (gib mir Werte, zeig mir Unterschiede, ...) damit haben wir einen neuen Kandidaten für eine Klasse 'Feld'. die all diese Funktionalität zur Verfügung stellt.

Eine Frage jenseits von OO:
welchen Grund hat es, dass du die Namen der Felder, die überwacht werden sollen, in einem String hältst und nicht in einer Liste/Array/...?

animate:

--- Zitat von: TMC am 26.06.04 - 16:50:50 ---Nochmal zu diesem Bug (Initial-Values werden nicht neu gesetzt nach dem Speichern):

Man könnte den beheben in dem man einfach das History-Objekt neu erstellt beim PostSave in der HistoryMonitorDoc-Klasse:


Ist imho aber nicht sauber.

Hmm, alternativ könnte man die "Private Sub readInitialValues()" der HistoryMain - Klasse aufmachen und zu Public machen, und dann in der HistoryMonitorDoc - Klasse dann folgendes machen:

 Private Sub ProcessPostSave(Source As NotesUIDocument)
         'nach dem Speichern des Dokuments muss die History geschrieben werden
      Call m_History.save()
      'Nun müssen die neuen Werte wieder gesetzt werden.
      Call m_History.ReadInitialValues()
   End Sub

--- Ende Zitat ---

du hast die neuen Werte ja schon. du müsstest nur sowas hier in deiner History-Klasse machen, nachdem der Eintrag gemacht wurde:

m_vaInitialFieldValues = m_SavedFieldValues

TMC:

--- Zitat von: Thomas Völk am 26.06.04 - 16:57:15 ---zu den Hilfsfunktionen:
Explode und ErrorHandler sind Kandidaten für eine 'Hilfsfunktions-Bibliothek'
--- Ende Zitat ---
Hmm, stimmt. Ziel ist allerdings für mich hier, die Klassen per Copy'n'Paste in beliebigen DB's einzusetzen (auch wenn diese sonst keine Klassen haben). Aber vielleicht macht man da dann einfach eine "HistoryHilfsfunktionen" - Lib, die dann immer mitkopiert wird... ?!


--- Zitat von: Thomas Völk am 26.06.04 - 16:57:15 ---die anderen haben alle was mit Feldern zu tun (gib mir Werte, zeig mir Unterschiede, ...) damit haben wir einen neuen Kandidaten für eine Klasse 'Feld'. die all diese Funktionalität zur Verfügung stellt.
--- Ende Zitat ---
Ah ja..... gute Idee :-)


--- Zitat von: Thomas Völk am 26.06.04 - 16:57:15 ---Eine Frage jenseits von OO:
welchen Grund hat es, dass du die Namen der Felder, die überwacht werden sollen, in einem String hältst und nicht in einer Liste/Array/...?
--- Ende Zitat ---
In Konstanten (hier: Global Declarations der Maske) sind leider Arrays nicht möglich afaik. Daher schreibe ich die dort in ein String mit Trennzeichen "##", übergebe diese dann an das Objekt "HistoryMonitorDoc", von da aus weiter an das "HistoryMain"-Objekt und im HistoryMain-Objekt wandle ich die dann in ein Array um (mittels der ExtExplode - Function):

--- Code: ---   Private Sub getHistoryFields(strNames As String, strTitles As String)
      'die zu prüfenden Felder ermitteln
      m_vaHistoryFields = ExtExplode(strNames, "##")
      m_vaHistoryFieldTitles = ExtExplode(strTitles, "##")
--- Ende Code ---

Bin da aber aufgeschlossen, wenn Du 'ne bessere Idee zur Umsetzung hast :-)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln