Je dois stocker plusieurs objets (la plupart d'entre eux sont TObject
/non persistant) dans un TMemoryStream
, enregistrer le flux sur le disque et le charger à nouveau. Les objets doivent être diffusés les uns après les autres. Une sorte de conteneur universel.Diffusion de plusieurs TObjects vers un TMemoryStream
Au moment où je mets toutes les propriétés/champs/variables d'un objet dans un enregistrement et enregistrer l'enregistrement à diffuser. Mais j'ai l'intention d'utiliser le fichier de fonctions WriteInterger
, WriteString
(voir ci-dessous), WriteBoolean
, etc fonctions pour enregistrer/charger des données à partir du flux.
StreamReadString(CONST MemStream: TMemoryStream): string;
StreamWriteString(CONST MemStream: TMemoryStream; s: string);
Cependant, il semble que j'ai besoin de réécrire beaucoup de code. Un des nombreux exemples est TStringList.LoadFromStream
qui ne fonctionnera pas, il doit donc être réécrit. C'est parce que TStringList
doit être le dernier objet dans le flux (il lit à partir de la position actuelle à la fin du flux).
Quelqu'un connaît une bibliothèque qui fournit des fonctionnalités de base comme celle-ci? J'utilise Delphi 7 pour que RTTI ne soit pas génial.
Pour l'instant, je mets toutes les propriétés/champs/variables d'un objet dans un enregistrement et enregistrer l'enregistrement à diffuser. Mais j'ai l'intention d'utiliser mes fonctions 'WriteInterger', 'WriteString', 'WriteBoolean', etc. pour sauvegarder/charger des données depuis un flux. – Ampere