About the author
As everyone knows, Delphi 8 is Borland's incarnation of Delphi for the Microsoft .NET Framework. Due to licensing issues (which I think is just Microsoft flexing their muscle), Borland can't name Delphi as Delphi.NET.
Instead of giving everyone an introduction on what Delphi 8 is about, which Borland has done a fine job of, let's look at issues that Delphi 8 itself has.
You cannot declare properties with attributes that does not descend from TCustomAttribute.
The following Delphi code fragment
[Xml('F')]property F: Integer read FX write FX;
doesn't compile, while the C# code fragment
[XmlAttribute(”F”)]public int F { get {return FX; } set { FX = value; }}
does compile.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.