Record Vs Packed Record

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 15 janv. 2013 à 13:31
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 18 janv. 2013 à 18:50
Bonjour à tous!

j' ai il y a quelques temps eu des problèmes aléatoires de mémoire dans une de mes applications qui utilisait des arrays de record:

monRecord: Record
cod: Integer;
Descr: String;
end;

MonTableau: Array of monRecord;


Le problème surevenait lorsque le tableau avait beaucoup d' éléments.
Après avoir pensé plusieurs fois au suicide, j' ai modifié la déclaration de mon record en ajoutant "packed" (j' ai vu ça sur le net) :
monRecord: packed Record

Ma question est: pourquoi ça marche? Je sais, c' est con, mais le fait que ça marche n' est pas satisfaisant en soi.
Merci à vous de m' aider à comprendre pourquoi ...

a+

Composants Cindy pour Delphi
Faites une donation.
A voir également:

20 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
15 janv. 2013 à 14:44
le fait d'ajouter packed permet d’aligner les champs et de compresser certaines références en mémoire paginée.

idéalement, il faudrait utiliser une TList pour ce genre d'elements plutôt qu'un array dynamique ;)



________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
Rejoignez-nous