IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

XE7 - Gestion des composants : répertoire de compilation


Sujet :

Delphi

  1. #1
    Invité
    Invité(e)
    Par défaut XE7 - Gestion des composants : répertoire de compilation
    Bonjour,

    Toujours sur les composants. Je voudrais que les fichiers bpl et dcu figurent dans le répertoire du composant.


    Par défaut, je trouve le bpl dans C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl... Cela me complique la vie : il y en a partout ! Le dcu quant à lui est dans C:\Users\xxxxxxl\Documents\Embarcadero\Studio\Projets\Win32\Debug. Trop risqué pour moi. Mon répertoire personnel sert à beaucoup d'autres choses. A la rigueur je préférerais un répertoire fixe différent...
    Dernière modification par Invité ; 23/11/2014 à 13h48.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Outils >> Options >> Option d'environnement >>Options Delphi>>Bibliothèque

    Finalement en ne plaçant rien dans "Répertoire de sortie des packages" et "Chemin de dcu de débogage", on peut déplacer le bpl et le dcu : les fichies bpl et dcu sont bien créés dans le répertoire des sources du composant.

    Cependant quand le projet appelle le composant, on obtient un
    [dcc32 Erreur fatale] Unit1.pas(7): F1026 Fichier introuvable : 'C:\Users\xxxxx\Documents\Embarcadero\Studio\Projets\lzDatePicker.dcu'
    ...

    Donc au final, il faut des répertoires absolus pour que n'importe quel projet puisse bénéficier du composant à moins de référencer son emplacement "à la main" dans le projet... Mais avec d'autres chemins absolus que ceux paramétrés par défaut dans l'IDE, je rencontre des problèmes identiques de fichier introuvables... Dommage j'aurais bien voulu un ($BDS)\components à la Lazarus...
    Mauvaise idée donc. On va laisser l'IDE se débrouiller.
    Dernière modification par Invité ; 23/11/2014 à 13h49.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai pris le temps de réfléchir un peu plus à la question, histoire de comprendre un peu les réglages de cet IDE qui m'est étranger finalement. Je suis habitué à celui de Lazarus, celui de Delphi 7 en quelque sorte, et pas celui de XE7. Dans le domaine des composants, je suis très satisfait de l'approche de Lazarus (simple, efficace et puissante), comme de beaucoup d'autres d'ailleurs (les ancrage, les fichiers lrs, bien supérieurs au res qui datent...).

    En attendant que je maitrise correctement le kit de tutoriel, je place mes notes sur le forum dans ce message.

    Donc comme en Lazarus, je placerai tous mes composants personnels dans le répertoire $(BDS)\components. (Dans ma config. : C:\Program Files (x86)\Embarcadero\Studio\15.0\components\lzDatePicker).
    Aussi je commence par configurer l'IDE car je veux produire mes paquets d'installation dans cette racine.
    Outils >> Options >>Options d'environnement>>Options Delphi >> Bibliothèque
    Dans le champ Paramétrage de sortie des packages -> $(BDS)\components



    Donc les fichiers de package de Delphi (les bpl) seront placés automatiquement à la racine de ce répertoire $(BDS)\components. Il est plus facile de les retrouver. Ils sont regroupés. En lazarus, les lpk suffisent (l'équivalent des dpk). Il n'y a pas de bpl. Donc pas d'équivalent de Delphi.

    Je veux créer un composant lzDatePicker dans le répertoire $(BDS)\components\lzDatePicker qui contiendra les sources de ce composant et les fichiers nécessaires tel que le dcu, les res...

    Création du répertoire du composant

    Je pars de ma classe TlzDatePicker que je place dans un répertoire ($BDS)\components\lzDatePicker que je crée



    Au départ ce répertoire contient 2 fichiers, lzDatePicker.pas et l'image (l'icône) du futur composant transformée en ressource par brcc32, lzDatePicker.res [un lzDatePicker.bmp 24x24 en 256 couleurs - un fichier texte lzDatePicker.rc qui contient "TlzDatePicker BITMAP lzDatePicker.bmp" et ensuite en ligne de commande un "brcc32 lzDatePicker.rc"]
    Comparaison avec Lazarus, j'utilise pour les icônes des composants de ce dernier des png que je transforme en ressources avec winres. En Delphi visiblement, je suis limité aux bmp 24x24 256 couleurs. La transparence est gérée automatiquement par le magenta qui remplace le canal alpha. Si on veut utiliser du magenta, je ne sais pas comment on fait.

    Création du composant

    Menu Composant >> Installer un composant


    Puis


    Accepter la création


    Et normalement


    Résultat

    Le fichier bpl d'installation du package est bien créé dans $BDS)\component

    et le fichier dcu est à sa place dans le répertoire du composant


    A ce stade, un projet ne peut pas utiliser le composant.
    Créer un nouveau projet. Il est possible d'y ajouter le composant créé...



    Mais toute tentative de compilation génère une erreur
    [dcc32 Erreur fatale] Unit1.pas(7): F1026 Fichier introuvable : 'C:\Users\xxxxx\Documents\Embarcadero\Studio\Projets\lzDatePicker.dcu'
    C'est valable pour le fichier dcu mais aussi pour le fichier res.

    Pour régler le problème : Outils >> Options >>Options d'environnement>>Options Delphi >> Bibliothèque
    Dans le champ Chemin des bibliothèques, ajouter le chemin du composant -> ($BDS)\components\lzDatePicker (ou le sélectionner avec le DirectoryDialog présent dans la fenêtre)



    La compilation du projet fonctionne désormais.

    Question

    Qu'est-ce que le "Chemin de recherche" ? Dans quelles circonstances est-il utilisé ?
    Dernière modification par Invité ; 23/11/2014 à 14h00.

Discussions similaires

  1. XE7 - Gestion des composants
    Par Invité dans le forum Delphi
    Réponses: 1
    Dernier message: 24/11/2014, 13h55
  2. XE7 : Gestion des styles. Premières questions.
    Par Invité dans le forum Composants FMX
    Réponses: 12
    Dernier message: 22/09/2014, 09h07
  3. [Compiler] Gestion des fichiers .mat après compilation
    Par procrastination dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/09/2014, 15h15
  4. Gestion des composants
    Par FunkyBreizh dans le forum JSF
    Réponses: 2
    Dernier message: 09/06/2009, 11h38
  5. Gestion des composants en MFC
    Par dot-_-net dans le forum MFC
    Réponses: 0
    Dernier message: 17/03/2009, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo