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
- Qu'est-ce que la VCL ?
- Qu'est ce que la CLX ?
- Puis-je me passer des librairies Borland ?
- Qu'est ce que TObject ?
- Puis-je utiliser des composants écrits pour Delphi dans C++Builder ?
- Comment résoudre le problème de compilation "impossible de trouver l'unité DsgnIntf.dcu" ?
- Comment installer un nouveau composant ?
- Comment installer la RxLib ?
- Comment importer un ActiveX ?
- Comment installer des composants Delphi dans C++ Builder 2006 ?
La VCL (Visual Components Library) est une bibliothèque de composants visuels de Borland. C'est une hiérarchie de classes représentant des composants visuels qui permet de concevoir rapidement des applications. Les composants que vous voyez dans la palette de C++Builder appartiennent à la VCL. La VCL a été écrite en Pascal Object.
CLX (prononcez "clicks") signifie Component Library for Cross-Platform development. Cette librairie est apparue avec les versions 5 de C++ Builder/Delphi et la sortie de Kylix. Elle est en général décrite de deux manières différentes.
Le discours commercial a fait qu'aux yeux de l'utilisateur lambda et d'un certain nombre de développeurs, la CLX est la soeur jumelle de la VCL et est donc un ensemble de composants utilisables aussi bien sous Windows avec C++ Builder (ou Delphi) que sous Linux avec Kylix. Certains vont même jusqu'à comparer la CLX avec la VCL et donc en limiter la portée au sous-ensemble "composants visuels" et allant donc associer CLX et Qt.
Techniquement parlant, la CLX n'est en fait rien d'autre que le framework complet proposé par Delphi et C++ Builder.
La CLX n'est donc pas à comparer à la VCL puisque la VCL est l'un des éléments de la CLX. Et l'équivalent de la VCL côté compatibilité multi-plateforme se nomme la Visual CLX et repose sur Qt.
La VCL ou la Visual CLX ne représentent que 9 unités, les autres éléments constitutifs de la CLX sont NetCLX (composants Internet tel que Indy), BaseCLX (par exemple l'unité DataUtils) et DataCLX (Composants d'accès aux données client tel que dbExpress).
C'est tout à fait possible. Le lien ci-dessous vous fournira des informations.
Le type TObject est l'ancêtre de tous les objets.
La notion d'héritage est essentielle dans l'organisation de la VCL/CLX et le TObject permet de factoriser les comportements communs. Il gère de plus les aspects création/destruction, l'introspection (cf. la notion de RTTI), et la gestion des messages.
Dans la hiérarchie on retrouve également les types TPersistent et TComponent qui proposent successivement un enrichissement en méthodes et comportements. Jusqu'à arriver à TControl qui est l'ancêtre de tous les contrôles visibles par l'utilisateur à l'écran lors de l'exécution et avec lesquels il peut interagir.
Lorsque vous construisez vous même un nouveau composant visuel par exemple à partir de TControl, vous pouvez choisir parmi les propriétés, méthodes et évènements du type TControl celles que vous souhaitez publier.
Oui, bien sur. La plupart des composants Delphi peuvent être compilés et fonctionnent avec C++Builder. Alors ne vous limitez pas aux composants "C++Builder" quand vous téléchargez des composants. Notez que la VCL a été écrite en Pascal Object !
Cette erreur peut apparaitre quand vous compilez des composants Delphi qui ont besoin de cette unité. Pour résoudre ce problème, allez dans le menu Projet | Modifier le fichier d'options. Descendez un peu pour voir le tag PFLAGS qui devrait être ainsi :
Code c++ : | Sélectionner tout |
<PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
Code c++ : | Sélectionner tout |
<PFLAGS value="-$YD -$W -$O- -v -JPHNE -M -LUvclX0"/>
Dans le menu Composant | Installer un composant ... vous avez la possibilité de rajouter le composant dans un paquet existant ou dans un nouveau paquet.
Dans les 2 cas il vous faudra renseigner le champ intitulé Nom d'unité pour y faire figurer le nom du fichier source correspondant au composant.
Après validation, vous devriez avoir une nouvelle fenêtre listant pour le paquet selectionné les fichiers de composants référencés ainsi que les dépendances. A partir de cette fenêtre vous pouvez gérer des ajouts ou retraits de composants mais aussi compiler le paquet et installer les nouveaux composants. Le fonctionnement est identique à celui d'un projet puisque vous avez par ailleurs accès dans le menu Projet aux commandes Make et Construire.
Remarque : Pour accéder directement à un package de composants, vous pouvez également tout simplement ouvrir le fichier .bpk correspondant, comme vous ouvrez un .bpr, par le menu Fichier | Ouvrir un projet ou Fichier | Réouvrir.
Dans le menu Composant | Importer un contrôle ActiveX ... vous avez la possibilité d'importer un ActiveX dans un paquet existant ou dans un nouveau paquet.
Pour ce faire, soit votre ActiveX est déjà enregistré dans la base de registre et figure donc dans la liste, soit il ne l'est pas et vous pouvez l'ajouter en passant par le bouton Ajouter....
Après avoir sélectionné l'ActiveX, vous pouvez choisir la palette dans laquelle vous souhaitez le rendre disponible, le répertoire accueillant l'unité qui sera créée, puis il ne vous reste plus qu'à cliquer sur le bouton Installer...
Une nouvelle fenêtre apparaît vous demandant de renseigner un paquet existant ou un nouveau paquet dans lequel installer le composant obtenu.
Une fois le paquet choisi, tout ce passe comme lors de l'installation classique d'un composant.
Que faut-il faire pour que les composants Delphi soient compatibles avec ceux de C++ Builder2006 ?
Compatible a partir de BDS 2006.
Pour que les composants Delphi soient compatibles, il faut, lors de la compilation du composant sous Delphi,
sélectionner l'option "Générer les fichiers C++ Builder" qui se trouve dans les options du package, onglet lieur.
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.