AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RTTI-Bugs?

Ein Thema von himitsu · begonnen am 5. Mai 2014 · letzter Beitrag vom 8. Mai 2014
 
Benutzerbild von himitsu
himitsu

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

AW: RTTI-Bugs?

  Alt 5. Mai 2014, 08:27
In der alten RTTI?
Published-Felder sollten aber dennoch vorhanden sein. (published gibt es im Record nicht)


In der neuen "erweiterten RTTI" sind die eigentlich vorhaden. (siehe der Anhang in http://www.delphipraxis.net/180247-r...fahrungen.html)


[add]
Delphi-Quellcode:
type
  TMyRecord = record
    A: Byte;
    B: Integer;
    C: ShortString;
    D: string[3];
    E: string;
    property F: Integer read B;
    procedure G;
  end;
Und über die RTTI generiert:
Delphi-Quellcode:
TMyRecord = record {Package1.bpl Unit14.TMyRecord Managed Record Size=272 TRttiRecordType}
  public
    { 0} A: Byte;
    { 4} B: Integer;
    { 8} C: ShortString;
    {264} D: {unknown};
    {268} E: string;
    procedure G; {Addr=$26B37698}
  end;
Warum gerade der eine ShortString mit Längenangabe nicht geht, müsste ich nochmal prüfen. (mir war so, als gingen die)


[add2]
OK, das Problem besteht erstmal nur bei eingebettenten Strings.
Delphi-Quellcode:
type
  TMyStr = string[3];
  TMyRecord = record
    A: Byte;
    B: Integer;
    C: ShortString;
    D: TMyStr;
    E: string;
    property F: Integer read B;
    procedure G;
  end;
Delphi-Quellcode:
TMyStr = string[3]; {Package1.bpl Unit14.TMyStr Size=4 TRttiStringType}

TMyRecord = record {Package1.bpl Unit14.TMyRecord Managed Record Size=272 TRttiRecordType}
  public
    { 0} A: Byte;
    { 4} B: Integer;
    { 8} C: ShortString;
    {264} D: TMyStr;
    {268} E: string;
    procedure G; {Addr=$23AC7684}
  end;
Dabei fällt mir ein, daß es auch ein Problem mit Sets gab.
set of TEnum geht, aber bei set of (one, two, tree); knallt es oftmals.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Mai 2014 um 08:40 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz