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

Langage Delphi Discussion :

Aide pour traduction DLL de C++ vers Delphi


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    avril 2003
    Messages
    384
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2003
    Messages : 384
    Points : 143
    Points
    143
    Par défaut Aide pour traduction DLL de C++ vers Delphi
    Bonjour,

    Je souhaiterais convertir le code d'une DLL écrite en C++ (jointe) vers Delphi 2005.

    Pourriez vous m'y aider vu que je ne connais pas C++.

    Merci par avance

    Pierre
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 029
    Points : 732
    Points
    732
    Par défaut
    Citation Envoyé par Pierre95 Voir le message
    Bonjour,

    Je souhaiterais convertir le code d'une DLL écrite en C++ (jointe) vers Delphi 2005.

    Pourriez vous m'y aider vu que je ne connais pas C++.

    Merci par avance

    Pierre
    Tu veux qu'on te le traduise directement ?

    L'as tu déjà lu ?

    Tu sais, le c++ c'est pas sorcier, et ça ressemble quand même un peu à delphi (disons qu'il y a moins de différence qu'entre c++ et cobol !).

    Tu devrais plutôt le lire et nous dire les points que tu ne comprends pas, ou que tu ne sais pas comment convertir.

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    5 181
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 5 181
    Points : 11 449
    Points
    11 449
    Par défaut
    Tu as aussi des outils disponibles sur le site de CodeGear pour la traduction de header.
    http://dn.codegear.com/article/10281

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    avril 2003
    Messages
    384
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2003
    Messages : 384
    Points : 143
    Points
    143
    Par défaut
    Merci pour vos réponses très rapides.

    En fait je suis assez débutant en Delphi et je n'ai jamais programmé de DLL.

    J'ai effectivement lu le code et compris certaines parties. Seulement je suis incapable de reproduire ces strutures en Delphi.

    Pourriez vous me traduire ce code (si ce n'est pas trop fastidieux)?

    Merci encore de l'aide que vous pourrez m'apporter.

    Pierre

  5. #5
    Membre confirmé

    Inscrit en
    novembre 2002
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : novembre 2002
    Messages : 685
    Points : 493
    Points
    493
    Par défaut
    salut ,

    Qu'entends tu par traduire?

    tu peux utiliser les fonctions écrites en C++ dans ta DLL directement avec ton programme en delphi.

    bye
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    avril 2003
    Messages
    384
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2003
    Messages : 384
    Points : 143
    Points
    143
    Par défaut
    Bonsoir et merci de la réponse,

    En fait il s'agit d'un modèle de bibliothèque qui est utilisée par un programme de simulation aéronautique que je ne possède pas.

    Ce programme utilise une DLL par type d'avion géré.

    Je souhaiterais pouvoir écrire de nouvelles DLL (pour de nouveaux avions) en Delphi (le seul outils de développement que je possède et dont je sais un peu me servir).

    Voila pourquoi je voudrais avoir la traduction du code C++ en Delphi.

    Je vous remercie par avance de l'aide que vous pourrez m'apporter.

    Amicalement

    Pierre

  7. #7
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    mai 2007
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 339
    Points : 380
    Points
    380
    Par défaut
    Si tu disposes des différents fichiers sources C++ pour créer une DLL, pourquoi veux-tu les traduire : utilise un EDI en C++ , ouvre tes fichiers, modifie les variables et recompile !! ça me semble plus simple; d'autant que les fichiers que tu nous montres semblent plutôt "faciles" à lire. Autre avantage : aucun besoin de programmation sofistiquée
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

  8. #8
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    mars 2004
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2004
    Messages : 622
    Points : 984
    Points
    984
    Par défaut
    +1

    J'approuve à 100% l'analyse d'Archonte. Juste pour aider : c'est du Visual C++ 6, le projet (extension .dsw).

    Soit dit en passant, des #define contenant une formule non entourée de parenthèses, déjà, ça commence mal comme code C.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    avril 2003
    Messages
    384
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2003
    Messages : 384
    Points : 143
    Points
    143
    Par défaut
    Merci de vos conseils.

    Je ne dispose pas d' EDI C++.
    C'est pourquoi je souhaite la traduction.

    Merci d'avance

    Pierre

  10. #10
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    mars 2004
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2004
    Messages : 622
    Points : 984
    Points
    984
    Par défaut
    J'ai un peu regardé. Le problème, c'est que ce projet utilise les MFC (objet CString), donc on est à priori condamné à utiliser un outil de Microsoft. Tu peux toujours télécharger la version "Express", gratuite même pour usage commercial, à cette adresse :

    http://msdn.microsoft.com/fr-fr/express/aa975050.aspx

    Mais j'ai essayé avec la version 2005 Express, et ça ne compile pas (je pense que la version Express n'a pas tout ce qu'il faut non plus, il me dit qu'il manque le fichier "afxtempl.h". Il faudrait essayer avec l'actuelle version 2008, pour voir si ça compile (la conversion du projet .dsw ne pose aucun problème).

    Ceci étant, il y a quand même un problème sérieux : les fonctions exportées prennent toutes comme paramètre un objet de type CDataExChange, une espèce de "fausse" classe ne contenant que des champs (une structure suffirait) mais référençant d'autres classes. Je doute qu'on puisse transmettre ce genre de paramètre depuis Delphi !

    Donc, déjà rien que pour utiliser la dll depuis Delphi, il faudrait déjà faire tout un travail de réécriture en virant les classes et tout ce qui concerne les MFC (en fait, passer du C++ au C). Concerne le forum C, pas le forum Delphi.

    Sinon, effectivement, traduire tout ça en Delphi, mais c'est un gros boulot, et si je peux me permettre, c'est plutôt à toi de le faire. Personnellement, je suis prêt à t'aider si tu choisis cette solution, mais n'en demande pas plus, manque de temps.

    Edition : Bon, je viens d'installer Visual C++ Express 2008, il n'a pas les MFC non plus... mais bon, c'était juste par curiosité, puisque ça n'aurait rien résolu.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    avril 2003
    Messages
    384
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2003
    Messages : 384
    Points : 143
    Points
    143
    Par défaut
    Bonsoir,

    J'ai réussi à compiler la DLL sur le PC d'un ami qui possède Visual Studio 6.

    Il va m'aider sans avoir à traduire le code en Delphi.

    Ce sera long car nous sommes tous deux handicapés (Sourds et ayant une maladie rare de l'oreille interne avec une influence néfaste sur notre équilbre).

    Tout se passera donc par internet et MSN messenger.

    Merci quand même pour vos conseils.

    Amicalement
    Pierre

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

Discussions similaires

  1. Aide pour traduction C++ vers Delphi
    Par BobaL dans le forum Langage
    Réponses: 8
    Dernier message: 25/01/2011, 18h47
  2. aide pour migrer une BD access vers sql server
    Par soussie dans le forum Sécurité
    Réponses: 7
    Dernier message: 01/12/2008, 16h10
  3. aide pour migration de base cobol vers oracle
    Par patricia_kouassi dans le forum Administration
    Réponses: 2
    Dernier message: 03/10/2007, 14h02
  4. Réponses: 2
    Dernier message: 04/11/2006, 00h33
  5. Aide pour protéger un logiciel creer par delphi
    Par osma_1978 dans le forum Delphi
    Réponses: 2
    Dernier message: 02/09/2006, 22h50

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