begin process at 2012 05 29 22:45:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Probleme utilisation dll C++


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

Probleme utilisation dll C++

mercredi 2 février 2005 à 10:24:00 | Probleme utilisation dll C++

bibifinal

bonjour tout le monde, voila g créé ma dll, qui fonctionne (normalement) mais lorsque je l'appelle ca plante avec un type incompatible, la dll est en C++ et je l'utilise en vb.net
voila mon code, si y a des trucs vraiment affreu n'hesitez pas a le dire



pour la partie en C++ (la dll)

#include <stdafx.h>
#include <mapi.h>
#include <mapix.h>
#include <objbase.h>
#include <edk.h>
#include <Edkmdb.h>
#include <MAPIUtil.h>
#include <MAPIUTIL.H>
#include <MAPIDEFS.H>
#include <wabdefs.h>
#pragma comment(lib, "mapi32.lib")

extern "C" {
#endif
int
__declspec(dllexport) SetPropri(SPropValue *XoSprop,MapiMessage XoMess);
#ifdef __cplusplus
}
#endif

int __declspec(dllexport) SetPropri(SPropValue *XoSprop,MapiMessage XoMess){
LPMAPIPROP Xomapiprop = NULL;
Xomapiprop = (LPMAPIPROP) &XoMess;
LPSPropValue XoSpropValue = NULL;
XoSpropValue->ulPropTag = XoSprop->ulPropTag;
XoSpropValue->dwAlignPad = 0;
XoSpropValue->Value= XoSprop->Value;
HRESULT hr;
hr= HrSetOneProp(Xomapiprop,XoSpropValue);
return 1;
}



pour son utilisation avec vb.net j'utilise

Public Declare Function SetPropri Lib "SetPropri.dll" (ByRef SPropValue As Object, ByRef Message As Object) As Integer

puis pour l'appeller ca
xo1 = modSaisie.SetPropri(XoPropValue, XooMessage)

et quand je lance mon prog ca met parametres incorrecte ...snif
merci de toute aide
Naruto
mercredi 2 février 2005 à 10:36:16 | Re : Probleme utilisation dll C++

bibifinal

Changement d'erreur, en fait maintenant ca me met qu'il ne trouve pas le point d'entré de la dll...
Naruto
mercredi 2 février 2005 à 10:57:16 | Re : Probleme utilisation dll C++

ymca2003

Il faut rajouter un fichier .def au projet de la dll avec :
EXPORTS:
   SetPropri

car sinon comme la fct est en __stdcall, le compilo va rajouter @8 au nom (car la fct prend 2 paramètres de 4 octets sur la pile).
mercredi 2 février 2005 à 11:00:12 | Re : Probleme utilisation dll C++

bibifinal


je l'avais deja fait...ou enfin ca plantais du coup j'ai enlevé l'include du fichier .def
mais g ca dedans, je me demande ce qui ne va pas (tel quel)

LIBRARY SetPropri

EXPORTS

SetPropri @16


Naruto
mercredi 2 février 2005 à 11:17:12 | Re : Probleme utilisation dll C++

ymca2003

seule la section EXPORTS avec le nom des fonctions est utile (@16 sert à rien).

Sinon, dans le répertoire de visual il ya un prog nomé depends qui permet de vérifier si la fonction est bien exportée de la dll et de voir le nom sous lequel elle est exportée. Pour cel il suffit d'exécuter depends.exe et d'ouvrir ta dll avec.

mercredi 2 février 2005 à 11:20:34 | Re : Probleme utilisation dll C++

bibifinal


oulala ca me met un truc bien sympa je trouve

Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

avec 1 fonction dans la 2ieme case a droite, mais pas dans la premiere
Naruto
mercredi 2 février 2005 à 11:22:17 | Re : Probleme utilisation dll C++

bibifinal


?SetPropri@@YAHPAU_SPropValue@@PAUIMAPIProp@@@Z
que ca me met dans la fonction que je veu exporter
Naruto
mercredi 2 février 2005 à 11:23:46 | Re : Probleme utilisation dll C++

ymca2003

Ouais, en fait c'est pas trop grave car c'est une dll qui n'est pas chargée au lancement mais plus tard (delay-load) si des conditions sont requises. La zone importante est celle en bas à droite lorque tu sélectionne le nom de ta dll dans le panneau de gauche.
mercredi 2 février 2005 à 11:27:58 | Re : Probleme utilisation dll C++

ymca2003

force la déclaration en extern "C" (parce que là c'est la mixture c++ qui est mise) et rajoute __stdcall :

extern "C" int __declspec(dllexport) __stdcall SetPropri(SPropValue *XoSprop,MapiMessage XoMess);

vérifie que le .def est bien dans le projet.
mercredi 2 février 2005 à 11:28:54 | Re : Probleme utilisation dll C++

bibifinal

l'entry-point donc, je suppose, qui est 0*0001151E
(grande question, je me demande si tu a visual studio, je pourrais t'envoyer ma source pour voir si y a quelque chose qui va pas du tout (enfin si tu voi ce que je veu faire avec ma dll))
parce que je ne sais meme pas si c mon prog en vb qui plante ou la dll (eu g un EXTERN "C" qui veu dire que c que pour du C ou pas (normalement non vu que g deja réussit a renvoyer une valeur de la dll))
Naruto

1 2 3

Cette discussion est classée dans : dll, include, setpropri, xospropvalue, xosprop


Répondre à ce message

Sujets en rapport avec ce message

passage de parametres entre un prog VB.net et une dll c++. [ par bibifinal ] voila, j'utilise un prog en vb .net, et j'aimerais utiliser la dll que j'ai fait en c++, ma declaration de la dll (dans mon prog en c++):extern "C" in Appel d'une fonction contenue dans une dll [ par ybuchheit ] Bonjour, je souhaiterais appeler une fonction contenue dans une dll. Je n'ai pas le source de cette dll, le seul fichier dont je dispose est le .dll Créer dll en C++ [ par ANDRIAMIADANARIVO ] Pourquoi lorsqu'on compile le fichier .cpp ci-dessous, il y a une erreur qu'il faudra mettre ";" devant "void" et que "cout" n'est pas déclaré.#includ Probleme d'utilisation de DownloadToFile dans une DLL. [ par xela138 ] Bonjour à tous et merci à ceux qui pouront m'éclairer sur mon problème.Mon client est un projet universitaire(il est sensé faire une mise à jour autom Testé dll c++ [ par wislam2007 ] Salut mon dll que je veux testé est : Header [code=cpp] /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_ DLL avec stdcall [ par gmeha ] bonjourj'ai ecrit un DLL programme en utilisant stdcall je l'ai compile ,il y a eu aucune faute.#include "stdafx.h"#include #include extern "C" __decl Passage d'un String dans une DLL C++ [ par Argile92 ] Bonjour à tous.J'aimerai pouvoir accéder à un fichier texte via une DLL.Je suis dans Excel, avec l'adresse où se trouve mon fichier texte que j'aimera exemple de creation et utilisation d'un simple dll . [ par bonapart002 ] Bonjour:je suis débutant en c++ .je travail  avec Borland C++ 5.01.je veux créer une dll puis l'utiliser dans un programme .pour cela j'ai crée  un pr problème avec dll [ par loiclm86 ] Bonjour,J'aimerais créer et utiliser une dll. J'ai regardé sur internet mais j'ai quelques pbs.J'utilise Vista et Codeblocks.Je crée d'abord le projet Impossible d'obtenir l'adresse d'une function contenus dans une DLL [ par Nementon ] Bonjours, Voila le code simple d'une DLL et de son exécutable, compilé sous Visual 2008 et qui pour de sombres raisons plante lamentablement, lorsqu


Nos sponsors


Sondage...

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 : 0,952 sec (4)

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