Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Wie kann man private Klassen deklarieren? (https://www.delphipraxis.net/65199-wie-kann-man-private-klassen-deklarieren.html)

Thorus 13. Mär 2006 17:20


Wie kann man private Klassen deklarieren?
 
Kann man in Delphi in einer Klasse A eine pirvate Klasse B deklarieren? Also B soll nur in der A zu sehen sein und sonst nirgends.

In Java geht das einfach, aber bei Delpi scheint es irgendwie nicht so zu klappen, oder weiß jemand wie?

(Achja die Suchfunktion konnte ich kaum benutzen, weil bei Worten, wie "Klasse" und "private" alles mögliche kommt.)

Elvis 13. Mär 2006 17:28

Re: Wie kann man private Klassen deklarieren?
 
Delphi .Net kennt keine Sichtbarkeitsmodifizierer für Typen.
Das einzige was mir da einfallen würde wäre die Klasse im Implementation teil zu packen (ist internal, aber der Compiler akzeptiert sie nur innerhalb der implementierung) oder diese Klassen in einer "richtigen" .Net Sprache wie C#, Chrome,... zu schreiben und von D.Net zu benutzen. ;)
Beim Implementierungs Hack solltest du aufpassen, dass der kompilierte Typenname unbestimmt ist, da der D.Net Compiler alle internal Typen nach Gutdünken umbenennen wird... :shock:

Thorus 13. Mär 2006 17:38

Re: Wie kann man private Klassen deklarieren?
 
Oh, das ist aber schade. :(
Aber danke für die Antwort.

Kann man unter Delphi 32 private Klassen deklarieren, weil du meintest NET kann dies nicht? Da habe ich es irgendwie auch nicht hinbekommen.

Elvis 13. Mär 2006 17:52

Re: Wie kann man private Klassen deklarieren?
 
Zitat:

Zitat von Thorus
Kann man unter Delphi 32 private Klassen deklarieren, weil du meintest NET kann dies nicht? Da habe ich es irgendwie auch nicht hinbekommen.

Nope, deshalb kann es D.Net ja nicht. ;)
Big B lässt dich ja unter .Net so entwickeln wie unter Win32. Das mag für Portierung nett sein, aber meine Meinung zu D.Net wenn es um Neuentwicklungen geht spare ich zugunsten des Hausfriedens einfach mal aus.

Khabarakh 13. Mär 2006 17:57

Re: Wie kann man private Klassen deklarieren?
 
Zitat:

Zitat von Elvis
Delphi .Net kennt keine Sichtbarkeitsmodifizierer für Typen.

So wie ich es verstanden habe, will Thorus eine Nested Class, da ist es ausnahmsweise möglich.
Delphi-Quellcode:
type
  A = class
  strict private
    type
      B = class
        [...]

Thorus 13. Mär 2006 21:40

Re: Wie kann man private Klassen deklarieren?
 
Oh, danke, genau das meinte ich :)


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