Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Exportieren eines TYPES einer "fremden" Unit

  Alt 15. Nov 2012, 02:57
Nja, eigentlich exportiert man ja nicht den Typen, sondern legt ein Alias an.

type
OtherByte = Byte; // Alias (in selbiger oder anderer Unit)
Byte = System.Byte; // gleichnamiger Alias in anderer Unit
TMyByte = type Byte; // neuer Type

Indirekt kann man schon den ganzen Typ exportieren.

Neuerdings kann man (und ist auch, bei vielen RTL/VCL-Enums, auf die fieße Idee gekommen das zu nutzen)...
{$SCOPEDEUNMS ON}

Damit kann man den Enum nur noch mit Scope (Namespace) nutzen und schon braucht man die einzelnen Werte nicht mehr einzeln rüberzuholen.

Delphi-Quellcode:
type
  TFoo = (A, B, Foo);
  {$SCOPEDENUMS ON}
  TBar = (A, B, Bar);
  {$SCOPEDENUMS OFF}

begin
  WriteLn(Integer(Foo));
  WriteLn(Integer(A)); // TFoo.A
  WriteLn(Integer(TBar.B));
  WriteLn(Integer(TBar.Bar));
  WriteLn(Integer(Bar)); // Fehler
end;
$2B or not $2B
  Mit Zitat antworten Zitat