2010-06-21 6 views
0

J'ai reçu l'erreur suivante dans Delphi 2007. Qu'est-ce que cela signifie?Erreur interne à Delphi 2007

[Erreur DCC] uMyUnit.pas (9614): F2084 Erreur interne: AV21B66E31-R0000000F-0

je l'ai fait un code récemment ajouté la suppression, des insertions de ligne/suppressions, la modification des options du compilateur, mais rien n'a fonctionné.

J'ai réussi à résoudre ce problème en désactivant l'option 'Pointeur dactylographié @ opération'. Fait intéressant, cela fonctionnait avec cette option activée. Mais après avoir ajouté du code qui n'a même pas de pointeurs, il s'est cassé.

+0

Pourriez-vous poster quelques lignes de votre code et nous montrer où il souffle (autour de uMyUnit.pas, ligne 9614)? De cette façon, nous pourrions peut-être vous aider plus. Mais si c'est un bug du compilateur, alors vous devrez peut-être le coder (btw, est-ce que quelqu'un sait s'il y a des patches Delphi 2007 à télécharger?) – Mawg

+0

J'ai fait quelques changements et maintenant la ligne avec l'erreur est 9620. Je viens s'est rendu compte que c'est au-delà de la fin de l'unité. La dernière ligne de l'unité (fin.) A un numéro 9618. Il n'y a pas de lignes vides en dessous de la dernière ligne. – Max

Répondre

3

C'est une version condensée d'une erreur qui est assez familière à tout développeur Delphi. Si vous l'avez vu dans l'IDE, il dirait quelque chose comme:

Access Violation at location 21B66E31: Read of address 00000000.

Cela signifie que votre code, tel qu'il est actuellement rédigé, a réussi à exposer un bogue dans le compilateur. Malheureusement, la seule chose à faire à ce sujet, puisque la source pour le compilateur n'est pas disponible, est de continuer à faire plus de ce que vous avez déjà essayé qui n'a pas fonctionné jusqu'ici.

Ou essayez de mettre à jour vers D2010 et voir si cela fonctionne mieux. Ils ont corrigé beaucoup d'erreurs de compilateurs internes dans Delphi 2010. (Certes, beaucoup d'entre elles étaient de nouvelles erreurs introduites dans Delphi 2009, mais certaines ne l'étaient pas.)

1

Essayez de redémarrer l'EDI. Il corrige beaucoup d'erreurs internes. Si l'erreur persiste après un redémarrage et que tout fonctionne toujours, vous pouvez ignorer l'erreur. Un de mes projets a une erreur interne due à un problème de compilateur de ressources, je suppose, mais il fonctionne encore deux ans plus tard, même après de nombreuses modifications et reconstructions.

+0

J'ai essayé de redémarrer bien sûr. N'a pas aidé. Ce n'est pas un compilateur de ressources. C'est compilateur Delphi, donc il n'y a pas de fichier exe. – Max

+0

+1 pour redémarrer l'EDI. OP aurait dû indiquer qu'il l'avait déjà essayé, s'il l'avait déjà essayé. J'aurais suggéré si tu ne l'avais pas fait. –

3

Avez-vous essayé de:
- supprimer tous les DCU et reconstruire
- construire avec le compilateur de ligne de commande
- mélanger l'ordre des unités dans la clause uses
- fracasser la tête sur le mur (n'aide pas, mais au moins vous savez pourquoi ça fait mal^= ^)