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 Feststellen dass neuer Typ nur ein Alias ist (https://www.delphipraxis.net/185640-feststellen-dass-neuer-typ-nur-ein-alias-ist.html)

himitsu 26. Jun 2015 11:58

AW: Feststellen dass neuer Typ nur ein Alias ist
 
Zitat:

Zitat von Mikkey (Beitrag 1306697)
Delphi-Quellcode:
  ti1 := TypeInfo(myTyp);
  ti2 := typeInfo(Single);
  if ti1.Name <> ti2.Name then

Bei Typen niemals Namen vergleichen. (maximal nur mit voll qualifizierten Namen, also inkl. Namespace)

Nur weil etwas gleich heißt, muß es nicht das Gleiche Selbe sein.
Delphi-Quellcode:
if TypeInfo(myTyp) <> TypeInfo(Single) then

D-User 26. Jun 2015 15:04

AW: Feststellen dass neuer Typ nur ein Alias ist
 
Zitat:

Zitat von BUG (Beitrag 1306691)
Zitat:

Zitat von mkinzler (Beitrag 1306685)
Die beiden Typen sind für Delphi 2 verschiedene Typen

Aber wie sieht es ab Delphi 3 aus? (SCNR)

Zitat:

Zitat von Der schöne Günther (Beitrag 1306688)
So verschieden können sie aber wohl doch nicht sein wenn folgendes geht, oder?

Das zwei Typen zuweisungskompatibel sind, heißt nicht das sie "gleich" sind. Denk dir zum Bespiel einen BCD-Zahlentyp und einen Integer; die könnten zuweisungskompatibel sein (k.A. ob man das in Delphi hinbekommt), sind aber intern völlig unterschiedliche Datentypen.

"die könnten zuweisungskompatibel sein (k.A. ob man das in Delphi hinbekommt),":
man nehme einen Record und packe ein Case-Statement hinzu, das ist durchaus auch ein Zweck von diesem Konstrukt soweit ich das mitbekommen habe. Und das seit Anfangs-Pascal-Zeiten.
Dann kann man sich die Typen genau angucken, analysieren und sonst was mit machen.
Zusätzlich kann man noch ne Prozedur nehmen, die jew. einen ge-casten(nicht ge-casteten) Typ liefert/ auf diesem operiert und bel. transformierte Daten liefert. Ich liebe Delphi.

Der schöne Günther 14. Jul 2015 15:46

AW: Feststellen dass neuer Typ nur ein Alias ist
 
Könnte man den neuen Typen irgendwie ein Attribut verpassen? Etwas wie

Delphi-Quellcode:
type
   [IstAliasFür( TypeInfo(Single) )]
   TFloat = type Single;
habe ich versucht, aber lustigerweise ergibt die Auswertung von
Delphi-Quellcode:
TypeInfo(Single)
im Konstruktor des Attributs etwas anderes als später zur Laufzeit wenn das geprüft werden soll.


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