begin process at 2012 02 09 09:41:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Mémoire

 > 

Utilisation d'une dll ecrite en C++ avec delphi


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation d'une dll ecrite en C++ avec delphi

mardi 17 octobre 2006 à 14:01:20 | Utilisation d'une dll ecrite en C++ avec delphi

gilch

Bonjour,
j'utilise une dll ecrite en C++ sous delphi, le fonctionement est ok mais j'ai un pb avec
la declaration d'une fonction.
Dans le programme C++ qui utilise aussi cette dll, la fonction est declarée comme suit:

EXDLL_DECL int EXRead(WORD *object, BYTE *format, BYTE **repBuffer, WORD *repBufferSize);

Je n'arrive pas a déclarer correctement les pointeurs sur mon appli en delphi, quelqu'un peut t'il me dire comment ecrire cette fonction sous delphi??

J'ai essayé avec:
Function EXread(Object: word; format : byte ; repbuffer : word ; repbuffersize: word):integer;CDECL;external "EX.dll";

Mais ce n'est pas concluant.......

Merci d'avance
mardi 17 octobre 2006 à 19:04:03 | Re : Utilisation d'une dll ecrite en C++ avec delphi

rt15

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Function EXread(var Object: word; var  format : byte ;  var repbuffer : word ; repbuffersize: ^^word):integer;CDECL;external "EX.dll";

Le var pour le passage par référence. Donc revenant à un passage de pointeurs.

Pour le ^^word, je suis pas sur et je le sens pas trops, et j'ai pas Delphi sous la main... Mais tu dois pouvoir faire qqch comme ça :

type PWord = ^Word;
type PPWord = ^PWord;

Puis :

Function EXread(var Object: word; var  format : byte ;  var repbuffer : word ; repbuffersize: PPWord):integer;CDECL;external "EX.dll";

Le tout avec réserve.


@+

Je suis en deuxième année en école d'ingénieur et passionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
jeudi 19 octobre 2006 à 17:04:39 | Re : Utilisation d'une dll ecrite en C++ avec delphi

gilch

Grand merci pour ton aide, ca fonctionne bcp mieux ainsi.
Pour le pointeur de pointer, je m'en suis sorti avec un "bytearray".
Pour le reste c nickel, plus qu'une fonction et c'est fini grace a to post
encor merci

lundi 6 novembre 2006 à 05:23:06 | Re : Utilisation d'une dll ecrite en C++ avec delphi

delphi82001

Salut...,
    j'utilise une dll ecrite en C++,
 dans delphi,
la declaration des  fonctions de la DLL dans delphi fait erreur ;.
le code source c++ de la function :

DEFRAG_API int RunDefrag(char *MountPoint, int Mode) {
  if ((MountPoint == NULL) || (*MountPoint == '\0')) {
      DefragAllDisks(Mode);
    } else {
      DefragOneDisk(MountPoint,Mode);
      }
  return(0);
  }
le code delphi qui je utilisé est :
Function  RunDefrag(MountPoint : char; Mode:integer):integer;cdecl ; external 'DefragDll.dll' name 'RunDefrag';

mai delphi fait un erreur (violation d'accés a l'adresse 100047b0 ) ,

donne moi une solution ...
merci...
lundi 6 novembre 2006 à 10:09:45 | Re : Utilisation d'une dll ecrite en C++ avec delphi

rt15

Membre Club Administrateur CodeS-SourceS
Je sais pas ce que veut dire DEFRAG_API.

Pour MountPoint, c'est apparement une chaîne de caractère, donc :

Function  RunDefrag(MountPoint : PChar; Mode:integer):integer;cdecl ; external 'DefragDll.dll' name 'RunDefrag';

Mais j'ai peur que DEFRAG_API soit une convention d'appel. Faudrait savoir précisément sont fonctionnement.

Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.


Cette discussion est classée dans : fonction, dll, delphi, word, ecrite


Répondre à ce message

Sujets en rapport avec ce message

Convertir fonction DLL en Delphi [ par nitrique ] Bonjour à tous,J'ai une DLL qui possède cette fonction selon la doc:NoMangle long DLL_IMPORT_EXPORT csp2GetCodeType(unsigned char CodeId<font face="Ar comment declarer une fonction privé dans une dll delphi [ par jayceblaster ] Bonjour,je suis en train de créer un dll via l'expert de DLL delphi et je souhaite déclarer une fonction privé comme je peux le faire dans un projet V Kernerl32.dll Pb lors du lancement de mon appli. [ par diwilbo ] Bonjour à tout le monde, C'est la premiere fois que je post un message alors on vera bien si c'est efficace !! Donc voila mon probleme : J'ai prog Importer une dll win32 en delphi.net [ par jayceblaster ] bonjour;   peut on importer une dll win 32 dans un projet en delphi .net et si oui comment doit on faire pour utiliser des fonction d'une dll win MSGina.dll [ par Slander ] Bonjour tout le monde !Voilà, je souhaiterai savoir si quelqu'un pouvait m'indiquer où trouver un code de la librairie MSGina.dll ou équivalent en Del Supprimer la DLL Delphi qui tourne [ par EricDD ] Bonjour,Je ne vois pas de question sur ce thème, pourtant cela doit arriver à tout le monde :Quand vous arrivez avec une nouvelle version de votre DLL Décharger une DLL de la mémoire [ par EricDD ] Bonjour,Je travaille avec une appli ecommerce en asp, qui fait appel à une DLL Delphi, enregistrée comme composant COM+  : Je n'ai pas d'exe.Je suis a projet delphi -> access = impossible !!! [ par picolo5 ] Salut !J' ai fait un projet sous delphi qui utilise une dll de communicatons avec un materiel spécifique.cette dll s'occupe du dialogue tcp/ip, elle e besoin d'une unité delphi 7(Word_TLB.dcu) [ par benalioua1975 ] bonjour, g besoin de l'unite Word_TLB.dcuavez vous une idée merci lier un fichier word avec un project delphi [ par houcine_jam ] zouzoubonjourcomment lier un fichier word avec un project delphi?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,997 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales