2009-07-24 13 views
1

Lorsque l'option "Use debug .dcus" est définie sur True dans les options du projet, les appels de méthode dans mon application ne fonctionnent pas comme prévu.Utiliser l'option debug dcus dans Delphi 2009?

dire, par exemple,

parole est un procédé de func (a, b, c);

Dans la définition "func", la valeur de c est affectée à "a" et les valeurs de a sont affectées à "c" et tout devient fou.

J'ai essayé de le créer dans l'application d'exemple, mais sans chance. Cela n'arrive que dans mon projet en direct.

Quelqu'un a-t-il fait face au même problème? De delphi docs Je vois que l'option Debug dcus construit des informations en utilisant des cadres de pile. Tout ce qui est lié à ça?

Pavan.

+1

-1 pour "tout devient fou". :-) –

+0

Stack frames est une option séparée, Debug dcu construit avec les informations de débogage pour le code source VCL –

+0

@TOndrej: Bonjour Monsieur .... Alors wat attendez-vous après avoir passé des heures ensemble pour trouver une fonctionnalité incroyable? – Pavan

Répondre

4

Si vous ne pouvez pas créer un exemple d'application, il doit évidemment y avoir quelque chose dans votre projet en direct qui n'est pas ce que vous pourriez vous attendre.

Je ne peux que vous suggérer de résoudre le problème en faisant une copie de votre projet en direct, puis de supprimer systématiquement une chose à la fois. L'étape qui fait disparaître le problème vous aidera à affiner le problème.

0

Ceci est un peu évident, mais vous êtes-vous assuré de faire une reconstruction complète et pas seulement une compilation normale? Chaque fois que vous modifiez les paramètres d'un projet, vous devez effectuer une reconstruction complète ou vous vous retrouverez avec un comportement indéfini. (C'est le terme technique pour "tout devient fou.")

+0

Salut Mason, oui, j'ai reconstruit l'ensemble du groupe de projet. J'ai supprimé tous les fichiers dcu et fait en sorte que tout est construit en dernier. Mais le même comportement. – Pavan

+0

Et à côté de cela, IIRC lors de la modification de includefiles aussi. –

0

Faites-vous quelque chose avec des génériques ou des méthodes anonymes? Même si la mise à jour 3 est installée, le compilateur Delphi 2009 comporte encore plusieurs bogues subtils - principalement liés aux nouvelles fonctionnalités - qui peuvent être très difficiles à réduire à un simple test.

+0

Salut Mason, merci de montrer intéressant de trouver une solution à ce problème. En fait, je n'utilise pas de nouvelles fonctionnalités. J'ai surchargé la méthode avec les paramètres func1 (obj: TObject; a: entier; d: Tdatetime) et func1 (obj: TObject; f: Double; d: Tdatetime). La première fois j'ai observé le comportement erroné dans ce cas. J'ai donc pensé que cela pouvait être lié à une surcharge de méthode, et j'ai essayé en définissant deux fonctions séparées mais toujours le même comportement. Et notez que cela ne se produit que lorsque je mets l'option "Use debug DCUs" à True. Si je ne mets pas cette option tout fonctionne normalement. – Pavan

Questions connexes