Hi DPler,
für alle die unter Euch, welche über den aktuellen Delphi-Tellerrand schauen möchten, hier mal eine vorläufige Liste der Dinge, welche mit Delphi.NET aus der
Delphi Language verschwinden werden oder welche sich ändern. Diese Liste entstammt dem Buch
Mastering Delphi 7 von
Marco Cantù.
Deprecated Typen- Pointer gelten als veraltet. Diese werden unter Umständen noch unterstützt, aber über kurz oder lang verschwinden. Pointer gelten unter .NET als unsafe Types, da deren Typ nicht überprüft werden kann. Pointer-Arithmetik ist verboten.
- file of <type> wird nicht mehr unterstützt, da die Record-Größe abhängig von der Zielplattform sein kann.
- Das Schlüsselwort object, welches bis lang noch unterstützt wurde, wird komplett gestrichen - es bleibt nur noch class.
- Real48 und Comp werden verschwinden. Comp wird dabei durch Int64 ersetzt.
Basis-Typenänderungen- String ist in Zukunft ein WideString (16 Bit/Char), nicht mehr AnsiString (8 Bit). String wird auf System.String gemappt. Entsprechend wird Char zu WideChar (16 Bit) anstatt AnsiChar (8 Bit).
- Records werden als "Value Types" gewertet. (Hm, keine Ahnung, wie das zu verstehen ist ) Neu ist, das Records in Zukunft auch Methoden deklarieren können. Diese müssen als final (neu!) deklariert werden. Vererbung von Records ist weiterhin nicht möglich - es gibt ja Klassen
- TDateTime erhält ein neues Format, entsprechend dem .NET System.DateTime. Achtung!, bei allen Umstellungen. Der neue Typ kann Daten vom 01.01.01 00:00:00 bis zum einschließlich 31.12.9999 11:59:00 aufnehmen.
- Currency wird auf den Typen System.Decimal gemappt - wird also nicht mehr direkt unterstützt.
Deprecated Code Anweisungen- Variant Records werden nicht mehr unterstützt, da Typen-Größen Plattformabhängig sind.
- Der Pointer ExitProc wird nicht mehr unterstützt. Es muss auf initialization und finalization ausgewichen werden!
- Die dynamische Einbindung von Interfaces via implements wird nicht mehr unterstützt. Argh, habe ich gerade erst kennen und lieben gelernt
- Assembler Anweisungen werden nicht mehr unterstützt, da diese Plattform-Abhängig sind.
- Die Schlüsselwörter automated und dispid entfallen, da diese durch die .NET Struktur nicht mehr benötigt werden.
- Direkter Zugriff auf Speicher durch Methoden wie BlockRead, BlockWrite, GetMem, FreeMem und ReAllocMem sind nicht mehr möglich.
- Der @-Operator wird vermutlich verschwinden
Also, wer will, kann auch schon jetzt auf diese Änderungen achten, dann wird die Umsetzung unter .NET einfacher
...
...