vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Wie lange 'lebt' eine Variable?! 
Autor: MikeJ
Datum: 19.09.10 14:21

Genau darum geht es mir ja, ich will auf keinen Fall irgendwelchen 'Müll' in meiner Collection haben. Es sollen immer nur die Delegates in der Liste sein, deren Windows bzw. Pages auch gerade Angezeigt werden.
Ich wollte ursprünglich eigentlich nur feststellen, ob ein Delegate ins "leere" führen kann (wenn z.B. die Page aus dem Speicher geräumt würde, und der Delegate noch vorhanden wäre), oder ob der Delegate automatisch entfernt werden würde. Mit der Erkenntnis dass weder das eine noch das andere Zutrifft habe ich 'wieder mal was gelernt' (was mir im Nachhinein ja eigentlich auch logisch erscheint...)

Um das Problem zu lösen führe ich nun im Konstruktor der Page/Window eine "Anmeldung" des Delgaten durch:
Public Sub AddWindowToCallbackList(ByVal CallbackDelegate As _
  UserChangedDelegate)
  UserChangedCallbackList.Add(CallbackDelegate)
End Sub
und im 'Unloaded - Ereignis" eine "Abmeldung":
Public Sub RemoveWindowFromCallbackList(ByVal CallbackDelegate As _
  UserChangedDelegate)
  For Each del As UserChangedDelegate In UserChangedCallbackList
    If del.Target Is CallbackDelegate.Target Then
      UserChangedCallbackList.Remove(del)
      Exit For 'Eintrag gefunden, Schleife verlassen
    End If
  Next
End Sub
Funktionieren tut´s - für Verbesserungen wäre ich jedoch offen, denn wenn man in einer Page/Window mal die "Abmeldung" vergessen sollte führt das nicht zwangsläufig zu einem Fehler, Müllt aber trotzdem die Liste zu...

Viele Grüße
Mike
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wie lange 'lebt' eine Variable?!1.201MikeJ18.09.10 23:00
Re: Wie lange 'lebt' eine Variable?!756ModeratorDaveS19.09.10 10:05
Re: Wie lange 'lebt' eine Variable?!719MikeJ19.09.10 11:31
Re: Wie lange 'lebt' eine Variable?!748Snoopy19.09.10 13:04
Re: Wie lange 'lebt' eine Variable?!713ModeratorDaveS19.09.10 13:43
Re: Wie lange 'lebt' eine Variable?!736MikeJ19.09.10 14:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel