Autor Thema: [gelöst] On Event QuerySave in Klasse  (Gelesen 2463 mal)

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
[gelöst] On Event QuerySave in Klasse
« am: 01.04.09 - 10:53:31 »
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)

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

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
« Letzte Änderung: 01.04.09 - 11:53:23 von oxyd21 »

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: On Event QuerySave in Klasse
« Antwort #1 am: 01.04.09 - 11:53:00 »
Fehler gefunden: Wenn ich's im Global der Form deklariere, lüppt's problemlos.  ::)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [gelöst] On Event QuerySave in Klasse
« Antwort #2 am: 01.04.09 - 23:31:09 »
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.

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: [gelöst] On Event QuerySave in Klasse
« Antwort #3 am: 02.04.09 - 13:02:00 »
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
« Letzte Änderung: 02.04.09 - 13:06:25 von oxyd21 »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [gelöst] On Event QuerySave in Klasse
« Antwort #4 am: 02.04.09 - 21:38:07 »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz