Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen? (https://www.delphipraxis.net/184085-variablen-sichtbarkeit-explizit-auf-eine-andere-unit-ausdehnen.html)

PeterPanino 24. Feb 2015 13:53

Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen?
 
Hallo!

Ich habe zwei units Unit1 und Unit2. In der implementation section von Unit1 habe ich eine Objekt-Variable MyObject deklariert. Natürlich kann Unit2 die Variable MyObject nicht "sehen", da diese ja in der implementation section von Unit1 deklariert ist.

Die einzige Möglichkeit, von Unit2 aus auf MyObject zuzugreifen, wäre natürlich, MyObject in der interface-section von Unit1 zu deklarieren und Unit1 in der uses-Klausel von Unit2 zu referenzieren.

Gibt es aber eine Möglichkeit oder einen Trick, MyObject so zu deklarieren, dass diese Variable in Unit2 sichtbar ist, ohne Unit1 in Unit2 zu referenzieren? Wäre es z.B. möglich, die Variablen-Deklaration so in eine andere Datei auszulagern, dass sie dann im Endeffekt in der implementation section von Unit1 deklariert wird, aber in Unit2 sichtbar ist?

Bernhard Geyer 24. Feb 2015 14:08

AW: Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen?
 
Nein

p80286 24. Feb 2015 14:08

AW: Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen?
 
Gegenfrage:

warum diese seltsamen Klimmzüge?
Warum gibt es wohl die Aufteilung in Implementation und Interface ?

Zunächst einmal nein, aber wahrscheinlich ist es durchaus möglich über *.INc Dateien, da etwas zu drehen.

Gruß
K-H

Bernhard Geyer 24. Feb 2015 14:09

AW: Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen?
 
Noch etwas mehr Text.

Was willst du eigentlich erreichen? Was stört dich an der sichtbarkeit

himitsu 24. Feb 2015 14:11

AW: Variablen-Sichtbarkeit explizit auf eine andere Unit ausdehnen?
 
Implementation ist immer privat.
  • sich Getter/Setter-Funktionen schreiben
  • protected class var (im interface)
  • für class var geht auch getter
  • dem Anderen einen Pointer darauf geben
  • ...
  • dritte unit in implementation einbinden, aber Variable genauso wie alle Punkte vorher

Zitat:

*.INc Dateien, da etwas zu drehen.
Variable nein und Konstante ja, denn jeder bekommt seine eigene Kopie.


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