Laden...

Form.Close oder Form.Dispose

Erstellt von plongo vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.753 Views
P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 17 Jahren
Form.Close oder Form.Dispose

Ich habe mir mal folgendes Thema durchgelesen.

Speicherproblem

Da ich mometan an einer Anwendung dran bin und dort auch mit Forms (Show, Close) arbeite und diese auch die Dispose Methode besitzen, besteht bei mir dir Frage nutze ich jetzt dir Close oder Dispose Methode

Bzw. wird durch die Close Methode ebenfalls auch ein Dispose durchgeführt?

danke

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

T
512 Beiträge seit 2006
vor 17 Jahren

Durch Close wird normalerweise auch ein Dispose ausgeführt.

Zumindest hab ich es so in Erinnerung. Wenn man Close auf ein Formular aufruft, kann man es nicht wieder per Show zeigen. Man muss ein neues erstellen.

Das ist imo nur dann nicht der Fall, wenn du das Closing Event entsprechend behandelst.

e.f.q.

Aus Falschem folgt Beliebiges

347 Beiträge seit 2006
vor 17 Jahren

Ein Fenster, das durch Show gezeigt wird, wird mit Close zerstört.
ShowDialog hingegen sollte innerhalb eines usings erfolgen bzw. man muss explizit Dispose aufrufen.
Speicherprobleme sollten eigentlich nicht entstehen, da der Finalizer als letzte Instanz das Win32 Fenster zerstört. Aber Finalizer gehören zu den Dingen, mit denen man sich besser nicht einlässt. (Außer man mag blocking GC sweeps 😁 )

347 Beiträge seit 2006
vor 17 Jahren

Im Zweifesfall einfach mal die SWF DLL durch den Reflector scheuchen. Die beste und vertrauenswürdigste Doku für eine .Net API ist immer noch der IL Code selbst. Dank Reflector auch als C#, Chrome, Delphi, VB darstellbar... 🙂

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 17 Jahren

Danke für eure Antworten!

@Robert G
dein letzter Beitrag sagt mir wirklich nicht sehr viel... Kannst du mehr Infos geben. Danke dir!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

347 Beiträge seit 2006
vor 17 Jahren

Original von plongo
dein letzter Beitrag sagt mir wirklich nicht sehr viel... Kannst du mehr Infos geben. Danke dir! "Nicht sehr viel" heißt doch, dass du nur ein paar Stellen nicht verstanden hast.
Könntest du also bitte schreiben WAS du nicht verstanden hast? Ich habe keine Lust zu jedem Satz oben 5 neue schreiben zu müssen, obwohl du vllt nur 2 Dinge nicht vollständig verstanden hast.
Das gehört IMHO einfach zur Netikette in einem Forum: Den potenziellen Antworter nicht in der Luft stochern zu lassen. Du wirst dich wundern wie schnell man hilfreiche Antworten bekommt, wenn man hilfreiche Infos liefert. 😉

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 17 Jahren

ja klar. Sorry!

Ich meine es zu verstehen, da ich einfach meinen Code durch den Reflector scheue und dort zu sehen, wie dieser arbeitet.

Nur die Frage wie arbeite ich mit dem Reflector bzw. wie übergebe ich meinen Code?
Versteh ich es überhaupt richtig?

Ein Link dazu würde mir schon weiterhelfen!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

347 Beiträge seit 2006
vor 17 Jahren

Original von plongo
Nur die Frage wie arbeite ich mit dem Reflector bzw. wie übergebe ich meinen Code?
Versteh ich es überhaupt richtig? Ich meinte eher, dass du dir mit dem Reflector den Code von System.Windows.Forms.Form (aka SWF.Form) anschaust.
Ich habe mal einen Screenie gemacht, der dir zeigt, wie du Form suchen und dir dann den Code der Close Methode anzeigen lassen kannst.
Jeder grüne Bezeichner im Code fenster ist ein Link, so kannst du wie in einem Browser durch den Code "surfen".

Ich habe zwar in meinem anderen Betrag deine Frage IMHO beantwortet, aber es schadet nie sich mal tief in die FCL zu vergraben und zu schauen wie die Dinge funktionieren. 😉

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 17 Jahren

Super, danke, das hilft mir weiter.

Sehr ich das richtig, das ich mir über den Reflector den Code hinter der Assembly anschauen kann?

edit:
Dein Link führt mich wieder auf dies Seite!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

347 Beiträge seit 2006
vor 17 Jahren

Original von plongo
Dein Link führt mich wieder auf dies Seite! Jupp, aber direkt an den Anchor meines Beitrages um 16:02. 😉

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 17 Jahren

Sorry, bin wohl etwas neben der Spur 🙄

Der Reflector scheint ja ein richtig gutes Tool zu sein 😁

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de