Domino 9 und frühere Versionen > ND8: Entwicklung
[gelöst] On Event QuerySave in Klasse
(1/1)
oxyd21:
Hi,
habe mal wieder ein kleines Problem. Ich habe die Events in einer Klasse hinterlegt, jedoch "vergisst" er zur Laufzeit das Objekt.
Das Objekt rufe ich im Queryopen der Form auf:
--- Code: ---Set objYTPProjectUI = New YTPProjectUI(Source, Mode, Isnewdoc, Continue)
--- Ende Code ---
Der Konstruktor:
--- Code: ---Sub New (Source As NotesUIDocument, Mode As Integer, IsNewDoc As Variant, Continue As Variant), _
YTPProject (Source.Document)
On Event PostOpen From Source Call PostOpen
On Event QuerySave From Source Call QuerySave
End Sub
--- Ende Code ---
Das Postopen-Event wird anstandslos ausgeführt, Querysave jedoch nur, wenn der Debugger läuft. Das deutet also daraufhin, dass das Objekt nicht mehr beim Abspeichern vorhanden ist. Demzufolge muss die Klasse soweit i.O. sein, der Fehler scheint woanders zu liegen.
Kann mir jemand nen Tipp geben, was ich vielleicht vergessen haben könnte?
Viele Grüße,
Michael
oxyd21:
Fehler gefunden: Wenn ich's im Global der Form deklariere, lüppt's problemlos. ::)
koehlerbv:
Du weisst auch, warum das so ist? Das ist ja des Pudels Kern (dass Deine Erkenntnis auf einer Selbstverständlichkeit aufbaut) ... Wenn nicht, sag an. Es gibt keine dummen Fragen (nur sinnlose oder Nicht-Fragen), sondern nur blöde Antworten.
Bernhard
PS: Mit Klasse oder prozeduraler Routine hat das natürlich gar nichts zu tun.
oxyd21:
Ich vermute, das das Objekt, dass im QueryOpen erstellt wird, beim Beenden des Events wieder verschwindet. Wenn ich es im Global speichere, wird das Objekt erst entfernt, wenn die Form geschlossen wird.
Also hält das Objekt nur die Laufzeit des zugordneten Objekts. Das sollte der Denkfehler gewesen sein oder?
VG, Michael
koehlerbv:
Das war exakt der Denkfehler. Modul terminiert - modulinterne Objekte / Variablen im Orkus. Und das ist gut so und funktioniert sauber ohne Rückstände und ohne Verrenkungen (im Gegensatz zu manch anderen Programmiersprachen): Garbage collection at its best.
Bernhard
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln