Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: "type xyz = type string" Sprachkonstrukt?!?

  Alt 15. Jul 2010, 15:29
das type besagt, daß ein eigenständiger Type angelegt wird.

dieses erstellt einen Alias für den Type, aber in der RTTI bleibt es dennoch der externer Type "String".
type xyz = string; .

hier wird in der RTTI für xyz ein eigenständiger Type angelegt.
type xyz = type string; .

Delphi hat doch eine strenge Typenprüfung, so daß man nun "xyz" und "string" unterscheiden kann.


[add]
Delphi-Quellcode:
type
  PTypeInfo = ^TTypeInfo;
  TTypeInfo = packed record
    Kind: Byte;
    Name: ShortString;
   {TypeData: TTypeData}
  end;

type
  xyz = type string;
  abc = string;
  def = xyz;

begin
  ShowMessage(Format('string = %s'#10'xyz = %s'#10'abc = %s'#10'def = %s'#10, [
    PTypeInfo(TypeInfo(string))^.Name, PTypeInfo(TypeInfo(xyz))^.Name,
    PTypeInfo(TypeInfo(abc))^.Name, PTypeInfo(TypeInfo(def))^.Name]));
$2B or not $2B

Geändert von himitsu (15. Jul 2010 um 15:35 Uhr)
  Mit Zitat antworten Zitat