Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#6

Re: Record Größe zur Laufzeit bestimmen

  Alt 21. Apr 2008, 08:45
Also der Code von dir funtkoineit so auch nicht. Als Beispiel hab ich:
Delphi-Quellcode:
type xt = record
  a: extended;
  b: integer;
  c: byte;
end;

begin
  writeln(SizeOf(xt),' ',csGetRecordSize([xExtended, xInteger, xByte], 8));
genommen und bei dir kommt da 25 raus. Das kann aber deshalb nicht sein, weil das Ergebnis immer mod alignment = 0 sein muss. (in dem Fall 24)
Ich versuch das heute nochmal selbst aber vill hat ja jemand so einen Code schonmal geschrieben Jedenfalls danke erstmal Christian.

Du erhöst z.B. in deinem COde immer umd as Alignment das ist aber falsch. Bei einem Alignment von 8 und einem Record von Byte Integer ist die richtige Lösung 8 da es so aufgebaut wird:
b---iiii

Eigentlich weiß ich genua wie alles Berechnet wird war bisher nur zu dumm das umzusetzen, ok war auch spät nachdem man shcon 8 h geproggt hatte.
  Mit Zitat antworten Zitat