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 :

Interface pour un programme C


Sujet :

Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut Interface pour un programme C
    BOnjour je voudrai savoir si on pouvait inclure du code C dans Delphi
    Il se trouve que j'ai une application console que j'ai deveoppé en C et que je voudrai interfacer.
    Serait ce possible en Delphi

    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Tu peux exécuter n'importe quel programme avec Delphi via la fonction ShellExecute ou CreateProcess, ou bien transformer ton programme en DLL. Autrement, regarde donc ces liens :
    http://www.developpez.com/delphi/faq...ertir_c_delphi
    http://www.developpez.net/forums/showthread.php?t=55057

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

    Non, tu ne peux pas inséré du code C dans Delphi par contre tu peux importer des fonctions d'une bibliothèque à chargement dynamique (dll) écrite dans un autre langage de programmation

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    Merci bcp

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    bjr tsine ,

    autrement dit c mon programme contient bcp de fonction je les transforme en dll et je récris le main en Delphi qui fait appel à ses fonctions ? c ça ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    COmment fait on pour créer un dll d'un autre langage de prog ? pour l'importer ds un projet Delphi ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Pour créer ta dll, tout dépend de ton compilateur de C et là je ne peux pas t'aider

    Par contre, pour déclarer tes procédures de ta dll dans delphi, tu peux obtenir des informations dans ton aide delphi, en résumé :
    Importation des fonctions de bibliothèques

    Pour importer des routines d'une bibliothèque à chargement dynamique (.DLL), attachez une directive de la forme :

    external stringConstant;

    à la fin de l'en-tête de la fonction ou de la procédure, où stringConstant est le nom du fichier bibliothèque placé entre apostrophes. Par exemple, sous Win32 :
    function SomeFunction(S: string): string; external 'strlib.dll';
    importe de strlib.dll une fonction appelée SomeFunction.

    Exemple :
    La déclaration suivante importe une fonction depuis user32.dll (partie de l'API Win32).
    function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer; stdcall; external 'user32.dll' name 'MessageBoxA';

    Le nom d'origine de la fonction est MessageBoxA, mais elle est importée sous le nom MessageBox.

    Dans la déclaration d'importation, assurez-vous de respecter exactement l'orthographe et la casse du nom de la routine. Par contre, une fois la routine importée, il n'y a plus de différences majuscules/minuscules.
    tu m'excuseras, mais ça fait un bout de temps que je n'en ai pas fait ....
    sinon vois les lien de sub0, tu trouveras peut-être ton bonheur !

    Bonne chance pour la pêche aux infos !

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    merci tsine pour ta réponse !
    cependant j'en ai une autre !

    mon exe codé en C prend en argument plusieurs valeurs.

    Dois je reoder le main en Delphi en faisant appel à mes librairies (ex .h de C) que j'aurais transformé en DLL ?

    Est ce que j'ai bien compris ou je me trompe ?

    Merci

  9. #9
    Invité
    Invité(e)
    Par défaut
    Exact !

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    Pour transformer mes différents .c et .h hors mis le main, comment y proceder en Delphi, dois je le faire au moment de la complation C (gcc) pour generer des dll que je pourrai utiliser apres ?
    Pourrai je le faire directement par Delphi en faisant appel à mes fichiers que je veux convertir en dll ?

    Paske là je vois ce qu'il faut faire mais pas comment il faut faire.

    Merci pour l'aide.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oup's j'avais pas fait assez attention à ton message précédent...

    On ne peut pas parler de transformation de tes fichiers .h en dll, avec ton code C tu créé une dll (un peu de la même façon que tu créé un exécutable sauf que tu as des propriétés à changer pour que se soit une dll, mais là c'est du C et je ne peux pas t'aider !)
    Voit peut-être sur la faq du C ou sur le forum ....

    Et ensuite tu appels tes procédures dans ton prog sous delphi comme j'ai pu déjà te l'indiquer

    bon courage !

  12. #12
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    +1 tsine.

    Tu dois réaliser la DLL avec ton compilateur C. Une DLL, c'est comme un programme EXE, excepté qu'il ya une interface avec les fonctions.

    http://lfe.developpez.com/DLL/
    http://rp.developpez.com/vb/tutoriels/dll/
    http://www.developpez.net/forums/showthread.php?t=10245

    Tu peux aussi envisager de faire un programme en C et de communiquer avec le programme Delphi via les paramètres, les messages Windows, les mutex...

    http://alphomega.developpez.com/EchangeVal/

  13. #13
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    merci les gars c d'une grande aide ce que vous m'aviez dis.

    Donc dans mon programme (en C ) qui contient deja bcp de .c et .h je dois les retoucher tous pour créer bcp de dll c ça ?

    Excusez moi si je demande bcp de choses mais j'ai deja utilisé delphi en SHELLEXECUTE pour interfacer un exe programmé en C mais jveux faire les choses de manière plus élégante.

    Donc c ça ? je dois modifier tous mes .c en ajoutant des export et tou puis faire de sorte qu'en compilant je gènère (via un Makefile parexemple) des dll partout que j'appelerai de mon interface en delphi. ?

    Si j'ai bien saisi , c bon, sinon jetez moi ce que vous voulez

    Merci de votre patience

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par défaut
    c bon g trouvé messieurs,

    Merci pour votre aide

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

Discussions similaires

  1. Créer une interface JAVA pour un programme non JAVA
    Par alieonor dans le forum Débuter
    Réponses: 8
    Dernier message: 11/09/2008, 16h34
  2. [Débutant] entrer une variable dans l'interface pour le programme
    Par spinalrock dans le forum Interfaces Graphiques
    Réponses: 34
    Dernier message: 25/06/2008, 13h00
  3. [AJAX] Créer une interface web pour un programme Java
    Par Wookai dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/03/2006, 11h10
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 14h02

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