AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi eine zur Laufzeit erstellte Komponente unterordnen
Thema durchsuchen
Ansicht
Themen-Optionen

eine zur Laufzeit erstellte Komponente unterordnen

Ein Thema von isocam · begonnen am 15. Jun 2004 · letzter Beitrag vom 16. Jun 2004
 
Christian Seehase
(Co-Admin)

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

Re: eine zur Laufzeit erstellte Komponente unterordnen

  Alt 16. Jun 2004, 15:21
Moin Roderich,

Zitat von roderich:
Du greifst explizit auf die Instanz "Form1" zu, die
1. gar nicht erzeugt sein muß
2. bei mehreren Instanzen dieser Klasse stets in die Hose gehen würde

Self zu verwenden, ist immer sauberer.
das ist natürlich richtig, ich wollte nur verdeutlichen, was self zu bedeuten hat.

@isocam:
In vielen Fällen werden die Standards von Delphi verwendet.
Man hat also eine Klasse TForm1 und eine zugehörige Objektvariable Form1, die von der IDE automatisch erzeugt werden.
Ebenso automatisch wird die Zeile

Application.CreateForm(TForm1, Form1); erzeugt, mit der beim Programmstart eine Instanz von TForm1 in Form1 gebildet wird, da Du nun aber diesen Automatismus nicht zwingend nutzen musst, sondern die Instanzen auch "manuell" erzeugen kannst, kannst Du auch eine andere Variable als nun gerade Form1 benutzen (1. bei Roderich).
Ausserdem kannst Du auch, zusätzlich zur automatischen Erzeugung, noch weitere Instanzen von TForm1 bilden, die dann, sinnvoller Weise, nicht Form1 zugeordnet sind. Somit würde die Angabe von Form1 auf die falsch Instanz verweisen.

Nimmt man hingeben immer self, so ist sichergestellt, dass immer die korrekte, existierende, Instanz von TForm1 verwendet wird, unabhängig davon, wieviele Instanzen man erzeugt hat, und wie die jeweiligen Variablen heissen (soweit man überhaupt welche verwendet hat, was ja auch nicht zwingend erforderlich ist.

Spätestens, wenn Du anfängst selber Komponenten zu schreiben, in deren Methoden auf die Objektinstanz zugegriffen werden soll/muss, wirst Du feststellen, dass es auch gar nicht anders geht als self zu benutzen, denn Du kannst dann ja vorher nicht wissen, wie die Variable heissen wird, die die Instanz zugewiesen bekommt.
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
 


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 07: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