Je modifie nos composants VCL afin que l'application de l'utilisateur final soit liée à nos fichiers dcu, au lieu de construire notre code source à chaque fois. Nous avons tout fonctionne, mais je veux que le débogueur s'arrête sur le code de l'utilisateur lorsqu'une exception est levée. Au début, il s'arrêterait dans notre ordinateur et ouvrirait la fenêtre CPU. J'ai été capable d'empêcher cela en supprimant les informations de débogage des fichiers dcu. Mais maintenant, il ne s'arrête toujours pas dans le code des utilisateurs (comme les bibliothèques DevExpress et d'autres le font).Corriger le compilateur Delphi pour arrêter dans le code de l'utilisateur, pas mes composants
Le screencast suivant est un exemple court. La première fois que je provoque une exception dans le code DevExpress et le débogueur s'arrête correctement dans mon événement de bouton. La deuxième fois que je provoque une exception dans mes composants, mais le débogueur n'a pas mon événement de bouton sur la pile d'appel, et ne me montre pas où le problème était. Des idées pourquoi?
http://screencast.com/t/NjhlOTRk
Actuellement la construction avec ces options de la DCU:
-$W+ -$D- -h -w -q
Mise à jour: Les méthodes TDataSet entre mon composant et l'événement bouton semblent provoquer ce problème. Si j'appelle à la place une méthode directe de ma table, j'obtiens le comportement attendu. Je devine qu'il n'y a rien que je puisse faire à ce sujet, mais je suis toujours curieux de savoir pourquoi cela arrive.