Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Form.Close oder Form.Dispose
plongo
myCSharp.de - Member



Dabei seit:
Beiträge: 123
Herkunft: RLP

Themenstarter:

Form.Close oder Form.Dispose

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Traumzauberbaum
myCSharp.de - Member



Dabei seit:
Beiträge: 512

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Robert G
myCSharp.de - Member

Avatar #avatar-1907.png


Dabei seit:
Beiträge: 347
Herkunft: München

beantworten | zitieren | melden

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 )
private Nachricht | Beiträge des Benutzers
Robert G
myCSharp.de - Member

Avatar #avatar-1907.png


Dabei seit:
Beiträge: 347
Herkunft: München

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
plongo
myCSharp.de - Member



Dabei seit:
Beiträge: 123
Herkunft: RLP

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Robert G
myCSharp.de - Member

Avatar #avatar-1907.png


Dabei seit:
Beiträge: 347
Herkunft: München

beantworten | zitieren | melden

Zitat
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.
private Nachricht | Beiträge des Benutzers
plongo
myCSharp.de - Member



Dabei seit:
Beiträge: 123
Herkunft: RLP

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Robert G
myCSharp.de - Member

Avatar #avatar-1907.png


Dabei seit:
Beiträge: 347
Herkunft: München

beantworten | zitieren | melden

Zitat
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.
Attachments
private Nachricht | Beiträge des Benutzers
plongo
myCSharp.de - Member



Dabei seit:
Beiträge: 123
Herkunft: RLP

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Robert G
myCSharp.de - Member

Avatar #avatar-1907.png


Dabei seit:
Beiträge: 347
Herkunft: München

beantworten | zitieren | melden

Zitat
Original von plongo
Dein Link führt mich wieder auf dies Seite!
Jupp, aber direkt an den Anchor meines Beitrages um 16:02.
private Nachricht | Beiträge des Benutzers
plongo
myCSharp.de - Member



Dabei seit:
Beiträge: 123
Herkunft: RLP

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers