AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Feststellen dass neuer Typ nur ein Alias ist
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen dass neuer Typ nur ein Alias ist

Offene Frage von "Der schöne Günther"
Ein Thema von Der schöne Günther · begonnen am 26. Jun 2015 · letzter Beitrag vom 14. Jul 2015
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Feststellen dass neuer Typ nur ein Alias ist

  Alt 26. Jun 2015, 10:06
So verschieden können sie aber wohl doch nicht sein wenn folgendes geht, oder?

Delphi-Quellcode:
type
   TNewType = type Single;
var
   mySingle:   Single;
   myNewType:   TNewType;
begin
   myNewType := mySingle;
   mySingle := myNewType;
end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Feststellen dass neuer Typ nur ein Alias ist

  Alt 26. Jun 2015, 10:10
Für den Delphicompiler schon.

Z.B. ist auch folgendes nicht kompatibel:

Delphi-Quellcode:
type
  TStringArray: Array of string;
...
var
  a1: TStringArray;
  a2: Array of String;

...

  a1 := a2;
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Feststellen dass neuer Typ nur ein Alias ist

  Alt 26. Jun 2015, 10:17
Die übertriebene Typsicherheit bei Arrays hätte ich spontan als anderes Thema gesehen, aber ich komme frisch aus dem Urlaub- Vielleicht ist mein Kopf noch nicht wieder ganz da.

Heißt das- Der "Delphi-Compiler" kann es, der Mensch vor der Tastatur allerdings nicht? Mann, ich lege einfach zwei lokale Variablen an und weise sie einander zu. Und vergleiche SizeOf(..) . Sollte jemand die Definition für TMyType eines Tages von Single auf Double ändern wird im dieser Code hier um die Ohren fliegen.

Das muss wohl reichen, besser scheint es ja nicht zu gehen.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.749 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Feststellen dass neuer Typ nur ein Alias ist

  Alt 26. Jun 2015, 10:46
So verschieden können sie aber wohl doch nicht sein wenn folgendes geht, oder?

Delphi-Quellcode:
type
   TNewType = type Single;
var
   mySingle:   Single;
   myNewType:   TNewType;
begin
   myNewType := mySingle;
   mySingle := myNewType;
end.
Ich glaube, mit var-Parametern solltest du einen Unterschied sehen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Feststellen dass neuer Typ nur ein Alias ist

  Alt 26. Jun 2015, 11:58
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.
if TypeInfo(myTyp) <> TypeInfo(Single) then
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz