Registriert seit: 28. Nov 2004
Ort: Ismaning
184 Beiträge
Delphi 2006 Professional
|
Re: Guter Stil oder 'Wie programmiere ich vernünftig?'
19. Apr 2006, 01:02
Wenn Du in .Net arbeitest, brauchst Du eh nicht alle Objekte freigeben. Ein Free bringt effektiv nur etwas auf einem Objekt, dass
a) entweder Free selbst implemetiert (kommt selten vor)
b) IDisposable implementiert
In Delphi.Net hat allerdings jede Klasse eine Free-Methode, da hier objekt-helpers / compiler magic einschreitet.
Ansonsten finde ich das Schachteln von try/finally Blöcken aber das Sauberste. Wenn man das auch nur noch bei Objekten aufruft, wo es auch nötig ist, dann wird die Verschachtelungstiefe auch nicht sooo tief (SqlCommand braucht zum Beispiel kein Free, da nicht IDisposable).
Wenn eine Klasse aber IDisposable implementiert, dann sollte man das Dispose auch aufrufen. In Delphi kann man dazu Free aufrufen. In anderen .Net Sprachen wird Dipose meistens schon aufgerufen, man muss nur wissen, wo man gucken muss.
Wenn man es vergisst, ist es aber meistens auch nicht ganz so schlimm, da irgendwann der Garbage Collector einschreitet.
Grüße
|