Author: Tomas Rutkauskas How to store TForms and / or their properties in a Paradox blob field Answer: 1 procedure SaveToField(FField: TBlobField; Form: TComponent); 2 var 3 Stream: TBlobStream; 4 FormName: string; 5 begin 6 FormName := Copy(Form.ClassName, 2, 99); 7 Stream := TBlobStream.Create(FField, bmWrite); 8 try 9 Stream.WriteComponentRes(FormName, Form); 10 finally 11 Stream.Free; 12 end; 13 end; 14 15 procedure LoadFromField(FField: TBlobField; Form: TComponent); 16 var 17 Stream: TBlobStream; 18 I: integer; 19 begin 20 try 21 Stream := TBlobStream.Create(FField, bmRead); 22 try 23 {delete all components} 24 for I := Form.ComponentCount - 1 downto 0 do 25 Form.Components[I].Free; 26 Stream.ReadComponentRes(Form); 27 finally 28 Stream.Free; 29 end; 30 except 31 on EFOpenError do {nothing} 32 ; 33 end; 34 end;