AGB  ·  Datenschutz  ·  Impressum  







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

Records und RTTI?

Ein Thema von 3_of_8 · begonnen am 4. Aug 2006 · letzter Beitrag vom 16. Feb 2009
 
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

Re: Records und RTTI?

  Alt 4. Aug 2006, 05:22
afaik besitzt ein Record keinen. Elemente eines Records besitzen lediglich offsets, die wie eine Variable direkt übersetzt werden.
Ein Blick ins CPU-Fenster gibt:
Delphi-Quellcode:
h = packed record
  i: integer;
  s: smallint;
end;

var
  m: h;

m.i := 0;
m.s := 1;
gibt
Code:
xor eax, eax
mov [m], eax
mov word ptr [m + $4], $0001
Es wird also direkt gesagt: i liegt direkt hinter der Adresse von m. s liegt dann 4 Byte weiter. Ein Record wird so eben auch im Speicher abgebildet, ohne zusätzliche Informationen oder ähnliches.
Aber wenn man sich die Prozeduren der TypInfo-Unit anguckt, merkt man bald, dass die Zugriffe nicht über Pointer oder ähnliches, sondern über TObject laufen, was darauf schließen lässt, dass der Spaß nur mit Klassen wirklich auch Spaß bringt.

greetz
Mike
Mike
Passion is no replacement for reason
  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 05:41 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