Hallo,
das ist mal eine der Stellen, wo Delphi dir solchen Blödsinn nicht verbietet. Du kannst auch etwas definieren wie
Integer : Integer;. Delphi weiß einfach vor dem Doppelpunkt steht ein Variablenname und hinten den selben ein Typ.
Dass kann sogar sinnvoll sein. Ich habe z. B. mal mit an einem (alten) Projekt gearbeitet, welches viel mit Typisierten (binären) Dateien gearbeitet hat. Mit irgend einem Delphi (oder war es sogar noch Turbo Pascal?) Update wurde dann der Datentyp "Integer" von einem 16 Bit Wert zu einem 32 Bit Wert umdefiniert. Mit der folge, dass sich die alten Dateien nicht mehr öffnen ließen, denn dort waren 16 Bit Werte gespeichert und die Records die gefüllt werden sollten, erwarteten aber plötzlich 32 Bit.
Es war eine heiden Arbeit sämtliche Datenstrukturen zu finden und auf neue Typen anzupassen. Damit die Arbeit nicht irgendwann, wenn vielleicht ein 64 Bit Integer zum Standard wird nicht erneut auftritt, wurde zu diesem Zeitpunkt Verboten die Nativen Datentypen zu nutzen und statt dessen wurden selbsdefinierte verwendet Also Dinge wie:
Delphi-Quelltext
1: 2: 3:
| Int8 = System.ShortInt; Int16 = System.SmallInt; Int32 = System.LongInt; |
Alle diese Typen wurden in einer Zentralen Unit definiert, welche überall eingebunden werden musste. Gleichzeitig hatte diese Unit aber auch die Aufgabe zu verhindern, dass noch jemand die alten Datentypen verwendet. Um dies zu gewährleisten definerte sie ein paar dummy Proceduren, wie z. B.
Procedure Integer;, was zu einem Kompilierfehler bei jeder Verwendung des Datentypen Integer führte.
In diesem Speziellen Kontext war das Verdecken von Schlüsselworten also hilfreich und erwünscht, weshalb ich es prinzipiell auch nicht schlecht finde, dass Delphi es erlaubt, auch wenn man in den allermeisten Fällen Abstand von solchen Ideen nehmen sollte.
Nur sollte auch jedem Entwickler klar sein, dass es keine gute Idee ist, seine Variablen wie Schlüsselworte zu benennen. Daher hatte der Kollege, der das ganze in deinem Projekt definiert hat entweder einen ziemlich schlechten Tag, oder er hat die Definition tatsächlich in böser Absicht platziert. Ich denke gegen Probleme die aus einer dieser Beiden Situationen entstehen, kann man ich ohnehin nicht schützen.