Domino 9 und frühere Versionen > Entwicklung
Wie kann ich eine Klasse sinnvoll aufbauen ?
animate:
--- Zitat von: TMC am 20.06.04 - 18:44:47 ---
--- Zitat von: Thomas Völk am 20.06.04 - 18:08:26 ---das könnte jetzt etwas wirr werden, aber wenn wir damit jetzt schon anfangen, dann machen wir das gleich gescheit.
Ich hab mal das Klassendiagramm mit UML gemalt. Das ist einfach der Standard, um sowas zu modellieren. Das Diagramm hängt als Attachment hier dran.
Die Kästen sind Klassen (im Moment noch ohne Methoden/Attribute).
Ganz oben in jedem Kasten steht der Klassenname, gefolgt von den Attributen und den Methoden.
Kursiv geschrieben Klassennamen bedeuten, die Klasse ist abstrakt (von ihr wird keine Instanz erzeugt).
Die Linien mit den großen Pfeilen am Ende heißen Genrealisierung ('ist ein')
Die Linien ohne Pfeile sind ungerichtete Assoziationen ('gehört zu', 'hat')
Die Zahlen, die bei diesen Assoziationen stehen sind die Kardinalitäten (bestimmt bekannt aus ERD. 'Zu einem History-Objekt gehören n HistoryEntry-Objekte)
--- Ende Zitat ---
Danke für die Tipps und die Zeichnung.
Wo "malt" man sowas am besten? Ich habe hier MS Visio 2002. Na ja, ist damit sicherlich machbar. Werde mir mal ein paar Visio-Shapes dafür zusammenzimmern (wenn diese nicht eh schon dabei sind).
--- Ende Zitat ---
sind normalerweise schon dabei. bei uns auf der Webseite kann man sich auch welche runterladen
TMC:
--- Zitat von: Thomas Völk am 20.06.04 - 18:35:30 ---aha, so machst du das. vGlobalHistoryFields sind die Felder, die beobachtet werden sollen, stimmts?
Mein erster Gedanke ist, dass wir hier wieder einen Kandidaten für eine Klasse haben. Ich muss mal kurz nachdenken.
Aber egal, was dabei rauskommt, du solltest das alles aus der Maske rausbringen. Ok, die Information, welche Felder beobachtet werden sollen, kann man evtl. in der Maske lassen, aber keine Logik
--- Ende Zitat ---
vGlobalHistoryFields ist sehr unglücklich gewählte Bezeichnung, sollte besser heissen "vGlobalHistoryFieldValues". Das sind die Item-Inhalte.
"vGlobalHistoryFieldTitles" sind die Namen der Items/Felder, die überwacht werden sollen.
Zur eigentlichen Frage: Kann ich eine globale Masken-Variable von einer Klasse aus setzen oder muss ich das im Masken-Event (hier: PostOpen) erledigen? Ziel ist ja, dass ich in einem anderen Masken-Event (Postsave) wieder auf die Werte zurückgreifen kann.
animate:
die globale Maskenvariable wird zum Attribut (Property) der Klasse
Class x
Private m_vaValues as Variant
Public Property Set Values as Variant
m_vaValues = Values
End Property
Public Property Get Values as Variant
Values = m_vaValues
End Property
End Class
(weiß nicht, ob das mit den Get/Set-Funktionen syntaktisch so korrekt ist)
dann hast du die Werte für die Lebenszeit deines Objekts zur Verfügung
TMC:
--- Zitat von: Thomas Völk am 20.06.04 - 18:52:28 ---sind normalerweise schon dabei.
--- Ende Zitat ---
Stimmt :D
TMC:
--- Zitat von: Thomas Völk am 20.06.04 - 19:00:08 ---die globale Maskenvariable wird zum Attribut (Property) der Klasse
Class x
Private m_vaValues as Variant
Public Property Set Values as Variant
m_vaValues = Values
End Property
Public Property Get Values as Variant
Values = m_vaValues
End Property
End Class
(weiß nicht, ob das mit den Get/Set-Funktionen syntaktisch so korrekt ist)
dann hast du die Werte für die Lebenszeit deines Objekts zur Verfügung
--- Ende Zitat ---
Wann ist denn mein Objekt tot?
Ich dachte, es ist z.B. dann tot, wenn das "End Sub" z.B. vom PostOpen-Event aufgerufen wird? Oder überlebt dies das Objekt?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln