Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Formular-Elemente als private??? (https://www.delphipraxis.net/36952-formular-elemente-als-private.html)

stoermi 28. Dez 2004 16:58


Formular-Elemente als private???
 
Hallo!

Ich habe mal eine allgemeine Frage zur Deklaration!

Wenn ich ein Formular erstelle, und dann darauf Elemente (Edit, Label, Button) plaziere, werden diese ja automatisch in der Unit deklariert. Das ganze befindet sich dann ja direkt unter der Typ-Deklaration.

Warum kann man diese Elemente nicht auch als private deklarieren...
So kann nur das eigene Formular darauf zugreifen, andere sollen das ja eigentlich eh nicht tun.
Und wenn, könnte man ja Properties erstellen?

Oder ist das alles quatsch?
Aber das würde mich dann auch intressieren!

Schönen Tag noch!
stoermi

Dax 28. Dez 2004 17:03

Re: Formular-Elemente als private???
 
Das, was unter der Typdeklaration steht, sind Felder. Ein Record besteht nur aus Feldern, Klassen können auch noch Methoden und Property haben und die Sichtabrkeit von Property, Methoden und Feldern verändern. Auf die unter der Typdeklaration deklarierten Felder kannst du aus allen Units deines Programms zugreifen, wenn du eine Instanz der Klasse zur Verfügung hast. Alle anderen Felder gehorchen ihrer jeweiligen Sichtbarkeit.

CalganX 28. Dez 2004 17:03

Re: Formular-Elemente als private???
 
Hi,
natürlich kannst du die Controls auch als private markieren. Spricht nicht dagegen, TForm1 (also die Klasse deines Formulars) ist ja eine ganz normale Klasse. Das Einzige, was sie zum Formular macht ist die DFM-Date.

Chris

Chegga 28. Dez 2004 17:16

Re: Formular-Elemente als private???
 
Hi,

Wird in Delphi eine Klasse vereinbart, gelten alle Elemente -
ob Eigenschaften oder Methoden - zunächst als Public vereinbart.
Damit stehen sie jedem anderen Objekt zur Verfügung.

Methoden und Eigenschaften unter Private:
Auf ein privates Element können nur Methoden der Klasse zugreifen,
in der es vereinbart ist.

Auf die Frage:
Man kann das schon machen, aber
warum einfach wenn's auch kompliziert geht? :mrgreen:

MfG Marc

Bernhard Geyer 28. Dez 2004 17:33

Re: Formular-Elemente als private???
 
Zitat:

Zitat von stoermi
Warum kann man diese Elemente nicht auch als private deklarieren...
...
Oder ist das alles quatsch?

Bei der definition des Verhaltens des Formular-Editors - DFM-Dateien wurde an einen solchen Wunsch nicht gedacht. Und dieses Verhalten später einzubauen ist ein sehr großer Umbau, welche einen Großteil von bestehenden Programmen probleme bereiten würde (Wie wäre das Verhalten z.B. bei der FindComponent-Methode. Sollen Private-Elemente auch in der Components-Auflistung zu finden sein, Muß diese auch privat sein, Wie muss das Steaming der Formulare angepaßt werden, ...).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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