uses System.Classes;
type
TData = class(TComponent)
private
FText: string;
FNum: Double;
published
//only published properties go into
//the native (DFM) binary stream
property Text: string
read FText write FText;
property Num: Double
read FNum write FNum;
end;
var
Data: TData;
Stream: TMemoryStream;
begin
Data := TData.Create(nil);
Data.Text := 'Hello';
Data.Num := 3.14;
Stream := TMemoryStream.Create;
Stream.WriteComponent(Data);
WriteLn('size is ', Stream.Size);
end.