2016-03-28 1 views
0

J'ai une structure qui est grande en mémoire. C'est TList; chaque élément est TMyObject et TMyObject contient un champ Data qui est record (avec n champs: entier, booléen). La liste peut contenir 1.000.000 articles. Je veux faire une liste compacte: Je veux avoir une liste non de TMyObject mais une liste d'enregistrement, chaque élément de la liste doit être enregistré. Donc, aucun proxy TMyObjects n'est fait. Les enregistrements sont enregistrés dans la liste en l'état. Comment faire cette "liste de classes" sans faire de nouveau gros code, sans faire moi-même Insérer/Supprimer/Ajouter, sans réattribuer des enregistrements dans Insérer/Supprimer/Ajouter?Faire une liste compacte des enregistrements dans FreePascal?

(en utilisant CPF 3.0, Lazarus)

+1

Par exemple, vous pouvez utiliser '' TFPGList http://www.freepascal.org/docs-html/rtl/fgl/tfpglist.html –

+0

@DavidHeffernan Il est ce que je veux, pls poste de réponse. – Prog1020

Répondre

1

Il y a quelques options mais je soupçonne le plus approprié serait TFPGList<T>.