Persistent class database and Delphi stream

I was working with Btrieve record manager to store objects in a database with
Borland pascal for a long time.It is very convinient way to work with complex
information.This way I got something like POMS wich works in client/server mode.
But now I decide to rewrite this to work with Delphi "classes".I need "Streamable"
class wich I can easy find the format and order of storing its members.The standard
"persistent" class is not designed properly for such purposes.
 I make my own "Streamable" class witch works like that in Borland pascal and
my own "Stream" and it's childs wich work with Btrieve.For my purposes it's
enough but I can not directly store "Persistent" classes in my database.May be
somebody knows the better way of solving this problem ? Or somebody have expirience
of working with Btrieve and Delphi similare way ?

 Please , email me if you have some information.

Andrew Tuman