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

Composants VCL Delphi Discussion :

[XE2]Package C++Builder incluant des Fichiers Delphi


Sujet :

Composants VCL Delphi

  1. #1
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut [XE2]Package C++Builder incluant des Fichiers Delphi
    Mon problème concerne C++Builder plus que Delphi, mais la section C++Builder est tellement peu fréquenté !
    Je viens ici !

    Dans l'article Compilation des packages de conception C++ contenant du source Delphi

    Je ne sais pas bien ce que cela veut dire ce passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vous devez effectuer les étapes garantissant la résolution des références par le package C++Builder.
    J'espère que c'est juste suivre la démarche indiquée (qui semble datée de BSD2006 d'ailleurs)

    En ce moment, mon responsable s'occupe de migrer de BSD2007 à BSDXE2

    On commence par les packages évidemment
    LE SEUL fourni par un tiers, c'est une version modifiée (en interne) de DxForumLib pour BCB6 (un ancien package "Express Forum Library - Developer Express")
    C'est vieux ça n'existe plus sous cette forme (DevExpress ayant largement évolué depuis) et comme modifiée en interne ...

    On commence par créer un NOUVEAU Package C++Builder XE 2, on inclut les fichiers .pas
    Cela compile et génère les fichiers HPP (indispensable pour l'utilisation du Package dans C++Builder)
    A la liaison, pas de chance "windows.obj" introuvable !
    On a ajouté des chemins, on a tenté de modifier les fichiers pour remplacer uses Windows par uses Winapi.Windows (avec une Directive de compilation pour conserver la compatibiltié 2007, le temps de la migration)
    Ne pas toujours pas !

    On essaye de rester propre en utilisant $(platform) ou $(config), $(LANGDIR) ...
    D'ailleurs, où est la liste de ces variables ? la DocWiki ne donne rien à ce sujet

    A Savoir, qu'un projet Package créé en Delphi en ajoutant les fichiers, sans changer grand chose, cela fonctionne du Premier coup !

    Créer un Projet Package C++ en BSD2007, se fait les doigts dans le nez !
    La même Manip en XE2 ne fonctionne pas !

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Points : 5 918
    Points
    5 918
    Par défaut
    Bonjour,
    Je ne suis pas aussi avancé que toi en ce qui concerne les versions mais:
    Citation Envoyé par ShaiLeTroll Voir le message
    Je ne sais pas bien ce que cela veut dire ce passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vous devez effectuer les étapes garantissant la résolution des références par le package C++Builder.
    J'espère que c'est juste suivre la démarche indiquée
    C'est ce que je comprends à la lecture de la page en question...
    Citation Envoyé par ShaiLeTroll Voir le message
    A la liaison, pas de chance "windows.obj" introuvable !
    As tu regardé les options du projet, à savoir est ce que l'emplacement où sont générés les .obj fait partie des chemins accessibles par le lieur ?
    --
    Philippe.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Ce fichier n'existe pas, le plus "proche" c'est WinApi.Windows.dcu qui remplace Windows.dcu, le préfixe WinApi est un qualificatif de domaine comme RTL, VCL ou FMX ... cela permet de repérer les éléments NON-CrossPlatform

    Windows.obj n'est pas un fichier généré mais un fichier fourni, en théorie dans une série de fichier lib (comme Kernel32.lib ou Gdi32.lib fourni par Microsoft) ou via un DCU, je t'avoue que je ne suis pas bien au point à ce sujet

    En plus, j'ignore si il réclame l'OBJ pour
    - Windows.hpp = header Embarcadero de Windows.pas (WinApi.Windows.pas)
    - windows.h = header de Microsoft

    J'ai essayé de mettre un alias d'unité "WinApi.Windows=Windows" et l'inverse "Windows=WinApi.Windows" dans les options du projet ...

    Comme on a ajouté "VCL.bpl" comme "required package", normalement, celui-ci inclu déjà l'unité "WinApi.Windows.dcu", tout le code est en pascal SAUF la procedure LibMain qui remplace le DllEntryPoint, ce n'est qu'un package de déploiement, ce n'est pas encore le package de conception qui inclura en plus la séquence de RegisterClasses écrit en C++.

    Surement un conflit lors l'utilisation d'un Package C++ Builder compilant des Objets Delphi !
    Faudrait que je regarde Indy, il doit y avoir des options dedans que je devrais pouvoir copier !

    Mais ce n'est pas moi qui le fait, c'est mon responsable, il a peut-être trop jouer avec les fichiers "optset" qui semble mémoriser bcp trop d'élements !
    Si cela se trouve cela fonctionne du 1er coup, je te dirais lorsqu'il aura retenté l'affaire, moi je dois finir mon projet et je suis à la bourre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Class ou Package pratique (ex: gestion des fichiers plats)
    Par vandeyy dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 03/03/2014, 18h08
  2. [Delphi 2005] Comment parcourir la liste des fichiers ?
    Par babyface dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2005, 11h01
  3. Réponses: 3
    Dernier message: 28/04/2005, 18h07
  4. Y as il des fichiers temporaires sous builder
    Par Moutonstar dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/12/2004, 14h24
  5. Réponses: 5
    Dernier message: 28/04/2004, 15h20

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