Été là, fait cela. J'ai résolu un problème similaire en dérivant une nouvelle classe de la classe TListbox, qui comprenait un tableau dynamique des enregistrements que je voulais garder liés. Vous aurez besoin de surcharger plusieurs des méthodes de TListbox pour garder le tableau dynamique synchronisé avec les éléments dans la liste, mais il a quelques avantages. Par exemple, un tableau dynamique d'enregistrement n'a pas besoin d'allouer ou de désallouer de la mémoire. Vous avez juste besoin de définir la longueur du tableau égale au nombre d'éléments dans votre liste. (SetLength
) Vous n'accédez pas aux enregistrements via des pointeurs, mais via un index. Vous pouvez simplement copier des enregistrements d'un emplacement à un autre dans la liste, pour les réorganiser.
L'inconvénient? Il y a beaucoup de fonctionnalités qui doivent être remplacées et il n'est pas facile de vérifier les bogues dans votre code, car cela doit fonctionner à l'exécution et au moment du design. Sachez également que vous utilisez des enregistrements, pas des classes. Si vous utilisez des classes à la place, vous devez libérer chaque élément du tableau. Mais les enregistrements sont beaucoup moins complexes.
Aucune raison réelle, je suppose que je vais aller dans la route de l'objet. Je ne savais pas s'il me manquait quelque chose avec un disque. Merci pour la réponse – kirkdmo