SizeOf kan ikke bruget i forbindelse med klasser !!!!
Problemet med klasser og SizeOf, er at du altis bare får størelsen af referencen til klassen. Som i et 32 bits milijø er 4. (4 byte = 32 bit).
Skal du have størelsen af en kalsse skal du kalde InstanceSize på din kalsse. Fra online hjælpen :
Use InstanceSize to determine how many bytes of memory are required for a class’s instance data. Delphi uses InstanceSize internally for methods that allocate and deallocate memory. InstanceSize is not a virtual method, so it cannot be overridden. InitInstance should only be called in the context of implementing a custom version of NewInstance.
Her er et eksempel på hvordan den kan bruges :
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:= IntToStr(form1.InstanceSize);
end;
Jens B
http://fotx.net/borrisholt