AGB  ·  Datenschutz  ·  Impressum  







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

Create = Create?

Ein Thema von freak4fun · begonnen am 21. Apr 2005 · letzter Beitrag vom 21. Apr 2005
Antwort Antwort
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Create = Create?

  Alt 21. Apr 2005, 11:05
Hallo,

ist
TSomeDialog.Create(Self); und Free(); das gleiche wie

MySomeDialog := TSomeDialog.Create(nil); und MySomeDialog.Free; ?

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Create = Create?

  Alt 21. Apr 2005, 11:10
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:
with TSomeForm.Create(self) do
begin
//...
  ShowModal;
//...
  Free;
end;
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: Create = Create?

  Alt 21. Apr 2005, 11:12
Ich bleib bei meiner Methode. (Die 2.)

Danke für die Erklärung.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Create = Create?

  Alt 21. Apr 2005, 17:29
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz