![]() |
Formular aufrufen (welche Methode ist besser)
Hallo liebe Leute,
kann mir einer sagen welche Methode die bessere ist um ein Formular aufzurufen? :gruebel: [formularname]:=T[formularname].Create(self); try [formularname].showmodal; finally [formularname].Release; end; oder: [formularname]:=T[formularname].Create(Application); try [formularname].ShowModal; finally [formularname].Free; end; Wo liegt der genaue Unterschied zwischen beiden Methoden? Wäre für einen Tipp sehr dankbar :coder2: |
Re: Formular aufrufen (welche Methode ist besser)
Hi
der Unterschied in deinem Code liegt ja nur am Freigeben,
Delphi-Quellcode:
IMO ist Free die bessere Wahl, da dies den Instanz-Zeiger auf nil prüft und evt. freigibt. Bloß wenn die Instanz bereits freigegeben wurde und der Zeiger nicht auf nil gesetzt wurde, gibts auch bei Free ne Exception.
<form>.Release();
//oder <form>.Free(); Deswegen ist (IMHO) die beste Methode
Delphi-Quellcode:
[Add]
FreeAndNil(<form>);
Ich habs auf den ersten Blick gar net gesehn :oops:
Delphi-Quellcode:
Soweit ich mich erinnern kann fügt sich ein TControl beim Erstellen einer Liste an Objekten hinzu. Jedes WinControl hat seine eigene Liste (Die übrigens unter
[formularname]:=T[formularname].Create(self);
//und [formularname]:=T[formularname].Create(Application); ![]() Da du das Formular aber sowieso vorher freigibst, dürfts eh aus der Liste entfernt werden, womit es am ende keinen Unterschied mehr macht :) [/Add] Zudem, um das Formular direkt zu erstellen würde ich nicht direkt den Konstruktor der Formularklasse verwenden, sondern die Methode ![]() greetz Mike [Edit] Ich Blindfisch *g* Es is doch noch was anders, außer dem freigeben |
Re: Formular aufrufen (welche Methode ist besser)
Da du Delphi hast, hast du doch sicherlich auch die dazugehörige Hilfe, oder?
Wenn ich meine aufrufe steht bei Destroy folgendes: Zitat:
Zitat:
|
Re: Formular aufrufen (welche Methode ist besser)
ich danke euch :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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 by Thomas Breitkreuz