AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit 2. Formular

Ein Thema von gfjs · begonnen am 23. Jan 2006 · letzter Beitrag vom 25. Jan 2006
 
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Problem mit 2. Formular

  Alt 24. Jan 2006, 14:54
Was du als "Free" bezeichnest ist in .Net Dispose des IDisposable Patterns, welches sich um alles kümmert, was für die GC unsichtbar ist (zum Beispiel DCs, Fenster,...).
Alles was IDisposable implementiert ist also potenziell memleak gefährdet.

Wenn du ein Form normal aufrufst, wird mit Close gleich ein Dispose ausgeführt.
Bei ShowDialog passiert das nicht! Wäre ja auch schlimm wenn dir der Dialog zerstört werden würde bevor du sein Ergebnis abfragen kannst.
Für modale Dialoge würde das also so aussehen:
Delphi-Quellcode:
using dialog := new DeineDialogKlasse() do
  if dialog.ShowDialog() = DialogResult.OK then
    ...
Oder in D.Net:
Delphi-Quellcode:
var dialog : DeineDialogKlasse;
begin
  dialog := DeineDialogKlasse.Create();
  try
    if dialog.ShowDialog() = &DialogResult.OK then
      ...
  finally
    dialog.Dispose();
  end;
Dispose würde auch durch den Finalizer aufgerufen werden, aber Finalizer sind Handbremsen und gehören zu den Dingen, die Unwissende gerne zu der Litanei ".Net ist langsam" verleiten.

Zitat:
Leider kenne ich kein Tool (Win32 -> MemProof) das mir das anzeigen könnte.
Suche mal nach CLR Profiler im MSDN. Ist ein sehr gutes FreeWare Tool und zeigt dir Dinge an, von denen du in MemProof nur träumen konntest...
Robert Giesecke
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz