Einzelnen Beitrag anzeigen

TonyMontana
(Gast)

n/a Beiträge
 
#1

Wie ermittelt man die Größe eines Objekts im Speicher?

  Alt 17. Jan 2008, 19:22
Diese Frage konnte mir in meinem letzten Thema keiner beantworten.

Es geht um ein Objekt, dass folgendermaßen aussieht:

Delphi-Quellcode:
type
  TMyRec = class(TObject)
  private
    FValue: Integer;
    FText: String;
    FStringList: TStringList;
    function GetList(i: Integer): string;
    procedure SetList(i: Integer; const Value: string);
  public
    property Value: Integer read FValue write FValue;
    property Text: string read FText write FText;
    property SringList[i: Integer]: string read GetList write SetList;
    constructor Create;
    destructor Destroy;
end;
Im Prinzip geht es mir darum, das Objekt in eine Datei zu speichern. Theoretisch ginge das ja auch wenn man einzeln die Felder einliest mit SizeOf und Length sollte man dann auch die Größe der Felder ermitteln können...
Allerdings wird das doch etwas umständlich, sollte die Klasse mal erweitert werden ...
Es muss doch irgendwie Möglich sein, zB einen Pointer auf den Anfang einer Klasseninstanz wie oben definiert zu setzen und dann Komplett in eine Datei "einzulesen", oder?
Dafür benötige ich aber eben auch die Größe der Klasseninstanz, ansonsten weiß ich ja nicht wie viel eingelesen werden soll.

Ich hoffe mal, ich konnte mein Problem deutlich machen. Vielleicht gibt es ja auch bessere Alternativen für diese Problemstellung?

Falls mir wieder keiner Antwortet, dann nehme ich einfach mal an, die Frage ist so trivial, dass ich erstmal ein Delphi-Buch lesen sollte um dann in der Lage zu sein mir die Frage selbst zu beantworten?
  Mit Zitat antworten Zitat