FAQ C++ BuilderConsultez toutes les FAQ
Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010 Ajouter une question
Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe C++ Builder de Developpez.
Commentez cette FAQ : Commentez
- Pourquoi C++ Builder se fige-t-il lorsque l'on passe la souris sur le code ?
- A quoi sert la case "Voir la fenêtre CPU" dans les messages d'erreur ?
- Comment empêcher C++Builder de supprimer les méthodes-gestionnaires d'évènements vides ?
- A quoi sert l'explorateur de classes ?
- Comment indenter et désindenter automatiquement du code ?
- Comment désactiver la récupération systématique des exceptions par C++ Builder ?
Cela est dû à l'audit de code dans le conseil. Plus clairement, lorsque vous passez la souris au-dessus d'un symbôle, C++Builder va chercher à trouver des informations sur le symbole ; pour cela, il compile en arrière-plan les unités. Le problème est que, pour de gros projets, cela peut prendre beaucoup de temps. Cette fonction n'étant pas très utile, vous pouvez la désactiver dans le menu Outils | Options de l'éditeur/Audit de code où vous décochez la case Audit de symbôle dans le conseil.
Vous pourrez continuer à demander la complétion lorsque vous le désirerez en faisant [Ctrl]+[Espace]
Avec la version personnal de Builder 6, cette option n'est pas directement accessible dans l'EDI (elle n'existe pas).
Il faut passer par la base de registre pour modifier cette option.
Il faut positionner à falseDeclaration Information dans la clé HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Code Insight.
Le CPU est le processeur de votre ordinateur. La fenêtre CPU permet de contrôler les instructions passées au processeur ainsi que le contenu des registres du processeur ("petites mémoires" à accès très rapide placées sur le processeur). Lorsqu'il y a une erreur, en cochant cette case, vous faites apparaitre la fenêtre CPU. Mais cette fenêtre n'est pas seulement accessible en cas d'erreur : vous pouvez la faire apparaitre lorsque vous le souhaitez : placez un bouton sur votre fiche. Dans l'évènement OnClick de ce bouton, placez le code assembleur suivant :
Code c++ : | Sélectionner tout |
1 2 3 4 5 6 7 8 | void __fastcall TForm1::Button1Click(TObject *Sender) { asm { mov eax, 0xFF; nop; } } |
Placez maintenant un point d'arrêt sur l'instruction nop (allez sur cette ligne et appuyez sur [F5]).
Exécutez le programme ([F9]). Cliquez sur le bouton Button1. Le programme s'arrête et l'éditeur de source met en évidence la ligne où nous avions placé le point d'arrêt (nop). Un point d'arrêt arrête l'application avant qu'elle exécute l'instruction. Donc l'instruction nop n'a pas été exécutée. Dans le registre eax, nous devrions donc avoir la valeur 0xFF. Nous allons le contrôler avec la fenêtre CPU. Utilisez pour cela un clic avec le bouton droit, Déboguer | Voir le CPU. Regardez l'avant-dernière colonne, tout en haut. En face de EAX, vous devriez voir 000000FF. Donc notre registre contient bien cette valeur.
L'utilisation de la fenêtre CPU décrite ici n'a pas beaucoup d'intérêt en soi, mais elle permet de comprendre une utilité de cette fenêtre.
C++Builder supprime les gestionnaires d'évènements vides pour éviter que des méthodes parasites créées par mégarde polluent votre projet : il suffit que vous double-cliquiez sur un composant pour créer un évènement ! Si vous souhaitez les garder, il suffit de placer un commentaire au-dedans :
Code c++ : | Sélectionner tout |
1 2 3 4 | void __fastcall TForm1::Button1Click(TObject *Sender) { // } |
Sélectionnez simplement les lignes souhaitées et tapez [Ctrl]+[Maj]+[I] pour indenter et [Ctrl]+[Maj]+[U] pour désindenter.
Il peut parfois être utile d'ignorer les exceptions dans C++Builder. En effet, celui-ci signale même les exceptions "rattrapées" par le bloc try/catch. Pour cela, il suffit d'aller dans Outils | Options du débogueur, puis dans l'onglet Exceptions du langage. Décochez ensuite les cases Arrêter sur exceptions Delphi et Arrêter sur exceptions C++.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.