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
Version imprimable
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
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
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
Merci bcp
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 ?
COmment fait on pour créer un dll d'un autre langage de prog ? pour l'importer ds un projet Delphi ?
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é :
tu m'excuseras, mais ça fait un bout de temps que je n'en ai pas fait ....Citation:
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.
sinon vois les lien de sub0, tu trouveras peut-être ton bonheur !
Bonne chance pour la pêche aux infos !
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
Exact !
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.
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 !
+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/
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
c bon g trouvé messieurs,
Merci pour votre aide