begin process at 2012 05 29 11:09:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

DLL passant une structur


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

DLL passant une structur

lundi 19 juillet 2004 à 17:09:50 | DLL passant une structur

oberown

Est-il possible de faire une dll en C++ qui a comme point de sortit renvoie une structure, et que ca soit sur delphi qu'il le recupere ?

Si oui comment ?

Merci
lundi 19 juillet 2004 à 17:19:28 | Re : DLL passant une structur

BruNews

Administrateur CodeS-SourceS
En sortie, une func que soit dans dll ou autre ne peut fournir qu'un long 32 bits (EAX). Tu dois fournir en param adresse de ta struct et la func lit et remplit ses champs.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 19 juillet 2004 à 17:35:56 | Re : DLL passant une structur

oberown

Alors comment faire pour passer plusieurs variables en une fois ?

PS: J'avoue n'avoir pas tout compris a ton explication.
lundi 19 juillet 2004 à 17:39:37 | Re : DLL passant une structur

Arnotic

Administrateur CodeS-SourceS
Ta structure en mémoire à une adresse (la ou elle débute).
C'est cette adresse que tu vas donner et la fonction elle va prendre parcourir la structure et/ou modifier cette dernière grace à cette adresse.

Je mettrai un exemple ce soir sur le site.

@+
Arnotic,
Admin CS, MVP Visual C++
lundi 19 juillet 2004 à 21:12:25 | Re : DLL passant une structur

Arnotic

Administrateur CodeS-SourceS
Comme promis j'ai posté un code.

Tu le trouveras à l'adresse suivante : http://www.cppfrance.com/code.aspx?ID=24723

@+
Arnotic,
Admin CS, MVP Visual C++
mardi 20 juillet 2004 à 09:16:48 | Re : DLL passant une structur

oberown

Merci beaucoup pour l'exemple.

Mais je voulais aussi savoir si j'utilise ma dll dans un programme Delphi il sera capable de reconnaitre la structure ?
mardi 20 juillet 2004 à 09:22:47 | Re : DLL passant une structur

BruNews

Administrateur CodeS-SourceS
Une dll ne 'reconnait' rien du tout, on lui passe une adresse et elle travaille. L'appelant est simplement responsable de passer une adresse correcte pointant sur une structure attendue et rien de plus.

ciao...
BruNews, Admin CS, MVP Visual C++
mardi 20 juillet 2004 à 10:00:17 | Re : DLL passant une structur

oberown

Alors comment faire sous delphi pour utiliser la structure passé ?
mardi 20 juillet 2004 à 10:11:28 | Re : DLL passant une structur

Arnotic

Administrateur CodeS-SourceS
Tu connais l'adresse de ta structure (où elle se trouve en mémoire).

Donc il te suffit de la parcourir soit grace à un pointeur soit en ayant définit la structure (comme dans mon exemple) et aller y piocher les membres.

Par exemple pour une structure qui contient :

char sz1[256];
char sz2[256];
int i;

l'adresse X te donnera sz1 X+256 te donnera sz2 et X+512 te donnera i;

C'est assez clair ?


@+
Arnotic,
Admin CS, MVP Visual C++
mardi 20 juillet 2004 à 10:14:10 | Re : DLL passant une structur

oberown

Et si ma struct contient des éléments qui n'ont pas de tailles défini ?
Comment les récuperer ?

1 2 3

Cette discussion est classée dans : dll, passant, structur


Répondre à ce message

Sujets en rapport avec ce message

DLL en C++, svp :( [ par NitRic ] Ca fait 4 jours que j'essaie de créée une simple DLL qui ne fait afficher qu'un simple MessageBox et ca ne fonctionne pas... :\Voici mon code au compl Probleme D'ordi [ par Ben-J ] J'ai un Probleme...Suite a une erreur de manip j'ai un prob avec les dll de mon ordi , la plupart des app bug a cause d'une exportation manquante NTDL dll C++ avec VB? harg! je craque! [ par BlackWizzard ] comment acceder aux element visual basic via une dll c++?par exemple, comment recuperer la valeur du pixel(3,2), changer la valeur de sa couleur et ap prob avec une dll [ par BlackWizzard ] Salut!je voudrais faire une dll avec un niveau tres bas...j'ai deja créé une dll de cryptage en me basant sur un code simple...la chose que je compren ouverture de base Access [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset importer une DLL [ par sylfeline ] Comment faire pour utiliser une DLL externe avec VC++ ?Le problème venant que la DLL à été faite avec VB, j'ai 3 fichier générer : .DLL, .Lib et .exp Prob avec des dll (creation et utilisation) [ par DDway ] Voila : mon prob est fort simple :comment avec VC++ on creer une dll et comment on l'utilise dans une application(un exemple bete et mechant m'aiderai ODBC Connect dialog: lacks text if api called from dll [ par mfritschi ] hi,i am writing an abstract data access framework. it enables us amongother things to access databases without being interested in theactual underlyin Afficher un dialog modal dans une dll d'extension... [ par MadPlop ] J'ai cree la DLL avec une classe de dialogue (avec la ressource de dialogue associee) et une autre classe. Les fonctions de ces classes fonctionnent s dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,950 sec (4)

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