Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Enum: Sichtbarkeit der Werte über mehrere Units "übersetzen"

  Alt 13. Apr 2012, 17:55
Übersetzung?

Das ist eher eine Umleitung.

Funktionieren tut das so:
Delphi-Quellcode:
type
  TMyEnum = Unit1.TMyEnum;

const
  meEins = Unit1.meEins;
  meZwei = Unit1.meZwei;
Aber ich emfinde deinen Ansatz auch fehlgeleitet.

Sowas wird vorwiegend zur Abwertskompatibilität verwendet.
Im Delphi-Quellcode wurde das an einigen Stellen gemacht, wenn etwas verschoben wurde, bzw. es doppelt deklariert war.
(z.B. in den Units Types und Windows das TPoint und TRect)

Es ist in etwa das selbe Prinzip wie dieses:
Delphi-Quellcode:
type
  TXyzEnum = {Unit1.}TMyEnum;

const
  xeEins = {Unit1.}meEins;
  xeZwei = {Unit1.}meZwei;
Wo ein Alias für diesen Typen und oder diese Konstanten erstellt wird.

Das hier ist übrigens ein neuer Typ:
Delphi-Quellcode:
type
  TAbcEnum = type {Unit1.}TMyEnum;
Delphi erstellt hier einen neuen/eigenen RTTI-Eintrag.

Beim Anderen liefert die RTTI die TypInfo für TMyEnum, wenn man nach TXyzEnum fragt.



Ich geb's aber zu.
Hab dieses auch schon verwendet, damit die TNTs nicht direkt eingebunden werden müssen, bzw. damit man nicht doppelte Units (meine und die der TNTs) einbinden muß.
http://www.delphipraxis.net/141895-t...phi-other.html
Nur daß ich dort keinen Einfluß auf alle Units hatte, bzw. es nicht haben wollte.
$2B or not $2B

Geändert von himitsu (13. Apr 2012 um 18:05 Uhr)
  Mit Zitat antworten Zitat