Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was ist eigentlich der Unterschied zwischen "type" und "type of"? (https://www.delphipraxis.net/197857-ist-eigentlich-der-unterschied-zwischen-type-und-type.html)

Fritzew 12. Sep 2018 14:42

AW: Was ist eigentlich der Unterschied zwischen "type" und "type of"?
 
Ich hätte geschworen das wir das so benutzen...........:shock:
Habe aber nachgeschaut wit benutzen Records mit implicit und explicit Umwandlungen......
Es ist sogar in den Tests die falsche Typ Geschichte drin.......
Schande über mein Haupt, hätte vor dem Posten schauen sollen:oops:

himitsu 12. Sep 2018 15:14

AW: Was ist eigentlich der Unterschied zwischen "type" und "type of"?
 
Zitat:

Zitat von Fritzew (Beitrag 1413010)
Mit type of bekommst Du einen neuen Typ der nicht zum Original Kompatibel ist...

Kompatibel schon, aber sie sind unterscheidbar.

Du kannst die Tyen gegeneinander zuweisen,
aber bei Typprüfungen sind sie unterschiedlich, womit beim Übeladen der Compiler das trennen kann.



Ohne TYPE ist es ein Alias.
Delphi-Quellcode:
type
  B = A; // ein Alias für A ... also B gibt es für den Compiler nicht ... das wird sofort durch A ersetzt.
  C = type A; // neuer Typ mit eigener RTTI und A ls Vorfahre ... da intern gleich, sind sie weiterhin zuweisungskompatibel.
Du kannst das mit fast der Vererbung bei Objekten
Delphi-Quellcode:
D = class(A);
verleichen.

Das kann man auch für eine Weiterleitung verwenden.
Delphi-Quellcode:
//unitn

uses
  unitx;

type
  A = unitx.A;

{
  unitn.A
  unitx.A
}
Delphi-Quellcode:
uses
  unitn;

// A ist sihtbar, obwohl eigenlich in unix ist, was aber nicht im USES steht.
Wird gern verwedet, wenn Typen verschoben wurden. Ower wenn man die andere Unit nicht überall direkt einbinden will.
In der alten Unit die Weiterleitung (ein Alias mit dem selben Namen, aber in unterschiedlichen Namespaces) und schon ist auch über diese Unit der Typ veröffentlicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr.
Seite 2 von 2     12   

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