![]() |
Create = Create?
Hallo,
ist
Delphi-Quellcode:
das gleiche wie
TSomeDialog.Create(Self); und Free();
Delphi-Quellcode:
? :gruebel:
MySomeDialog := TSomeDialog.Create(nil); und MySomeDialog.Free;
MfG freak |
Re: Create = Create?
Nein, definitiv nicht. Der Konstruktor muss einer Objektvariable zugewiesen werden, mit der du arbeiten kannst.
Bei der ersten Variante erstellst du zwar das zweite Form, aber kannst es nicht verwenden. Der Free-Aufruf zerstoert dann das Form in dem du dich befindest (weil Free in Self.Free umgewandelt wird). Die korrekte Arbeitsweise ist die zweite. Wenn du hingegen die Objektvariable umgehen willst, musst du so arbeiten:
Delphi-Quellcode:
Greetz
with TSomeForm.Create(self) do
begin //... ShowModal; //... Free; end; alcaeus |
Re: Create = Create?
Ich bleib bei meiner Methode. (Die 2.) :mrgreen:
Danke für die Erklärung. MfG freak |
Re: Create = Create?
Moin Freak,
wenn es sich bei dem Parameter im Konstruktor um den Owner handelt, ist es allerdings wichtig, ob Du self oder nil verwendest. Bei nil bist Du selber dafür zuständig dafür zu sorgen, dass das Objekt wieder freigegeben wird, bei self erfolgt dies automatisch wenn der Owner zerstört wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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