Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Unterschied zwischen Type und Type Of
Delete - Fr 15.04.16 15:24
Titel: Unterschied zwischen Type und Type Of
- Nachträglich durch die Entwickler-Ecke gelöscht -
GuaAck - Fr 15.04.16 20:06
Hallo,
bei mir wird "type of" an der Stelle vom Compiler abgelehnt. Welchen Compiler benutzt Du?
Bei k1 :=#$30A0 meldet der Compiler "Bereichsverletzung".
(Delphi 7)
Das nur zur Info,
hoffentlich hilft es,
Gruß
GuaAck
Delete - Sa 16.04.16 00:27
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke - Sa 16.04.16 06:53
Type of sollte nicht benutzt werden. Das verhält sich wie class of und war wohl für den .NET Compiler von Delphi 2006 gedacht. Sprich eine Referenz auf den Typ. Das funktioniert aber nicht korrekt.
Alles weitere kannst du hier und in den dort angegebenen Links nachlesen:
https://quality.embarcadero.com/browse/RSP-9850
Wenn du einfach schreibst
TypA = TypB, ist TypA ein Alias für TypB. Wenn du schreibst
TypA = type TypB, wird ein neuer Typ angelegt, so dass zwar die gleiche Funktionalität wie TypA verwendet wird, aber der Typ immer als TypB erkennbar ist. Du kannst also zur Laufzeit aus einer Variable erkennen, dass sie TypB ist. Ohne das type würde sie als TypA identifiziert werden.
Bei Delphi 10 kommt bei der Zuweisung von #$30A0 auch die korrekte Fehlermeldung:
Zitat: |
E1012 Konstantenausdruck verletzt untere Grenzen
|
Und bei k2 kommt kein Fehler, aber "type of" sollte ja auch nicht verwendet werden.
Delete - Sa 16.04.16 17:42
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!