J'ai le problème suivant en essayant de compiler certains composants dans XE2. Ces composants n'étaient pas préparés pour XE2, mais j'essaie de les compiler de toute façon.Utilisation de TPointerList Delphi XE2
dans un composant, il est déclaré comme
FList : TList;
lorsqu'il est utilisé, il est par exemple comme
SomeVariable := Integer(FList.List^[i]);
Il produit « de type pointeur requis » erreur de compilation.
Je corrigera comme ça
SomeVariable := Integer(FList.List[i]);
mais Dieu sait combien de temps aurais-je besoin de corriger toutes les occurences d'erreur.
Y a-t-il une directive de compilation, ou un paramètre qui peut gérer cela? J'ai essayé {$ X} et {$ T} sans effet.
Dans Delphi XE2 TPointerList (propriété TList.List) est déclarée comme tableau dynamique
type TPointerList = array of Pointer;
Si quelqu'un peut aider?
Non, vous devez changer le code d'un tiers. Ou obtenir une mise à jour du fournisseur de code. –
En outre, votre "correction" est incorrecte. Vous voulez dire: 'Entier (FList.List [i])' –
Je pense que vous ne devriez jamais appeler un "tableau de X" une "liste", surtout dans une déclaration de type. Une telle confusion ne fera qu'ennuyer les gens. Les TList-types ont des méthodes Add (x), par exemple, alors que Arrays ne sont pas du tout des types d'objets, et vous devez utiliser SetLength à la place. Ainsi, "TSomethingList" n'est pas un bon nom pour un alias de "Array of Pointer". –