begin process at 2012 05 29 03:15:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

DLL en C++, svp :(


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

DLL en C++, svp :(

jeudi 5 juillet 2001 à 08:24:09 | DLL en C++, svp :(

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 complet, il n'y à qu'un fichier qui ce nomme ma_dll.cpp

///////////////////////////////////////////////////////////////

#include <windows.h>

extern "C" __declspec(dllexport) BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{

switch (reason)
{

case DLL_PROCESS_ATTACH:
case DLL_PROCESS_DETACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;

}

return TRUE;

}

extern "C" __declspec(dllexport) void ViewMessage(char *Message, char *MsgTitle)
{

MessageBox(NULL, (LPCTSTR)Message, (LPCTSTR)MsgTitle, MB_APPLMODAL|MB_YESNO|MB_ICONQUESTION);

}

///////////////////////////////////////////////////////////////

// Je fait le teste avec VB5, voici le code:
'
Option Explicit

Private Declare Sub ViewMessage Lib "E:\C_CPP_Folder\Mes Programmes\DLL's\Test\Source\madll.dll" (ByVal Message As String, ByVal MsgTitle As String)

' J'ai aussi essayer en copiant la DLL dans le répertoire du projet VB -> Lib "madll.dll"

Private Sub Form_Load()

'On Error Resume Next

Call ViewMessage("Salut ca va bien ?", "Coucou")
Unload Me

End Sub

Ca ne fonctionne pas, j'ai essayer de cette facon: void __stdcall ViewMessage(les paramètres){...}
et ca ne fonctionne pas plus... :\ j'ai essayer sans le APIENTRY, avec WINAPI, j'ai essayer en compilant en C(32bit), j'ai essayer de mélanger les mots extern "C"(pour les prog c++), __stdcall, __declspec(dllexport), de les écrire un peu partout en les remplacant, sans c'est mots etc... bref j'ai essayer tout plein d'affaire, même ceux qui ne fonctionne pas et qui n'ont aucun raport je les est essayer aussi... la je ne sais plus quoi faire... si quelqu'un pouvait me dire comment créée une simple DLL ca serait vraiment sympat de ca part :)

///////////////////////////////////////////////////////////////

Les erreurs de VB:

Avec extern "C" __declspec(dllexport):
Il ne trouve pas le point d'entré dans la DLL(celui de ma fonction ViewMessage)
Et:
Il dit que je n'utilise pas la convention d'appel StdCall


Avec le __stdcall:
Il ne trouve pas le point d'entré...

Pis quand j'essaie tout plein d'affaire ben c'est toujours les même erreurs...

///////////////////////////////////////////////////////////////

J'utilise Dev-C++ 4, je les fais essayer à un de mes ami qui à VC++ et ca ne fonctionne pas plus, il y à aussi le fichier .DEF que voila:

; dlltool --base-file C:\WINDOWS\TEMP\cca88651.base --output-exp Madll.exp --dllname Madll.dll --output-def E:/C_CPP_~1/MESPRO~1/DLL'S/TEST/SOURCE/dll.def --exclude-symbol=DllMainCRTStartup@12 --def C:\WINDOWS\TEMP\cca88651.def
EXPORTS
ViewMessage @ 1 ;

Ca c'est celui créé par default par le compilateur, moi je les recréé de cette facon(j'ai regarder un source):

LIBRARY "madll.dll"

EXPORTS
ViewMessage

et ca ne fonctionne pas plus... j'ai aussi essayer d'autre facon mais rien... sur les 15 sources(exemples) que j'ai downloader aucun ne fonctionne... pourtant ils avaient inclus la DLL compiler dans leur ZIP et quand j'essayait leurs DLL ca fonctionnais.... :\

///////////////////////////////////////////////////////////////

Les erreurs du Linker:
gcc: llMain@12C:\WINDOWS\TEMP\cca88651: No such file or directory
Warning: no export definition file provided
dllwrap will create one, but may not be what you want
C:\DEV-C_~1\BIN\dllwrap: gcc exited with status 1


Compilateur:
madll compiled successfully

///////////////////////////////////////////////////////////////

Si quelqu'un pouvait m'aider ca serait vraiment gentil de ca part :)


NitRic
jeudi 26 juillet 2001 à 22:28:47 | Re : DLL en C++, svp :(

BlackWizzard

ajoute un fichier madll.def qui contient ce code:


; madll.def
LIBRARY Mydll

CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE

EXPORTS
ViewMessage @1




voila!
ce fichier sert à lister les fonctions...

@++
-------------------------------
Réponse au message :
-------------------------------

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 complet, il n'y à qu'un fichier qui ce nomme ma_dll.cpp

///////////////////////////////////////////////////////////////

#include <windows.h>

extern "C" __declspec(dllexport) BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{

switch (reason)
{

case DLL_PROCESS_ATTACH:
case DLL_PROCESS_DETACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;

}

return TRUE;

}

extern "C" __declspec(dllexport) void ViewMessage(char *Message, char *MsgTitle)
{

MessageBox(NULL, (LPCTSTR)Message, (LPCTSTR)MsgTitle, MB_APPLMODAL|MB_YESNO|MB_ICONQUESTION);

}

///////////////////////////////////////////////////////////////

// Je fait le teste avec VB5, voici le code:
'
Option Explicit

Private Declare Sub ViewMessage Lib "E:\C_CPP_Folder\Mes Programmes\DLL's\Test\Source\madll.dll" (ByVal Message As String, ByVal MsgTitle As String)

' J'ai aussi essayer en copiant la DLL dans le répertoire du projet VB -> Lib "madll.dll"

Private Sub Form_Load()

'On Error Resume Next

Call ViewMessage("Salut ca va bien ?", "Coucou")
Unload Me

End Sub

Ca ne fonctionne pas, j'ai essayer de cette facon: void __stdcall ViewMessage(les paramètres){...}
et ca ne fonctionne pas plus... :\ j'ai essayer sans le APIENTRY, avec WINAPI, j'ai essayer en compilant en C(32bit), j'ai essayer de mélanger les mots extern "C"(pour les prog c++), __stdcall, __declspec(dllexport), de les écrire un peu partout en les remplacant, sans c'est mots etc... bref j'ai essayer tout plein d'affaire, même ceux qui ne fonctionne pas et qui n'ont aucun raport je les est essayer aussi... la je ne sais plus quoi faire... si quelqu'un pouvait me dire comment créée une simple DLL ca serait vraiment sympat de ca part :)

///////////////////////////////////////////////////////////////

Les erreurs de VB:

Avec extern "C" __declspec(dllexport):
Il ne trouve pas le point d'entré dans la DLL(celui de ma fonction ViewMessage)
Et:
Il dit que je n'utilise pas la convention d'appel StdCall


Avec le __stdcall:
Il ne trouve pas le point d'entré...

Pis quand j'essaie tout plein d'affaire ben c'est toujours les même erreurs...

///////////////////////////////////////////////////////////////

J'utilise Dev-C++ 4, je les fais essayer à un de mes ami qui à VC++ et ca ne fonctionne pas plus, il y à aussi le fichier .DEF que voila:

; dlltool --base-file C:\WINDOWS\TEMP\cca88651.base --output-exp Madll.exp --dllname Madll.dll --output-def E:/C_CPP_~1/MESPRO~1/DLL'S/TEST/SOURCE/dll.def --exclude-symbol=DllMainCRTStartup@12 --def C:\WINDOWS\TEMP\cca88651.def
EXPORTS
ViewMessage @ 1 ;

Ca c'est celui créé par default par le compilateur, moi je les recréé de cette facon(j'ai regarder un source):

LIBRARY "madll.dll"

EXPORTS
ViewMessage

et ca ne fonctionne pas plus... j'ai aussi essayer d'autre facon mais rien... sur les 15 sources(exemples) que j'ai downloader aucun ne fonctionne... pourtant ils avaient inclus la DLL compiler dans leur ZIP et quand j'essayait leurs DLL ca fonctionnais.... :\

///////////////////////////////////////////////////////////////

Les erreurs du Linker:
gcc: llMain@12C:\WINDOWS\TEMP\cca88651: No such file or directory
Warning: no export definition file provided
dllwrap will create one, but may not be what you want
C:\DEV-C_~1\BIN\dllwrap: gcc exited with status 1


Compilateur:
madll compiled successfully

///////////////////////////////////////////////////////////////

Si quelqu'un pouvait m'aider ca serait vraiment gentil de ca part :)


NitRic


Cette discussion est classée dans : dll, fonctionne, essayer, madll, viewmessage


Répondre à ce message

Sujets en rapport avec ce message

DLL dynamiques [ par jfloviou ] Salut,je cherche a utiliser les DLL dynamique sous VC 6.0Je cree donc un projet win32 dynamic-link library, et je met mon code comme il faut dedans... Transport d'une dll de eVC++ 3.0 en eVC++ 4.0 [ par PSylvie ] Bonjour,Je possède une dll sous eVC++ 3.0 qui fonctionne parfaitement. Cependant, j'ai écrit une application sous eVC++ 4.0. qui a besoin de cette dll Communication entre 2 programmes [ par agremlins ] Bonjour, J'ai 2 programmes existant qui se partage des données par le réseaux. Le tout est sous windows  L'un fonctionne seul; on l'appelera prog1. Et Debogage de dll [ par OrsE ] Salut tout le monde. Après avoir cherché par moi même, et après avoir consulté plusieurs forums, j'ai décider de poser ma question. Je code avec C++ dll en c++ 6.0 [ par NaNouk_X ] Bonjour,j'ai un problème et je n'ai aucune idée du pourquoi.Voici: j'ai une dll fait en c++ 6.0. je la test par une application vb6 et tout fonction Problème compilation DLL [ par boponfire ] Bonjour;Je souhaite compiler une DLL (que nous appelerons maDLL) en C avec MinGW qui utilise elle même une autre DLL(que nous appelerons externAPI, j' Pb de retour d'une chaine de carac. à partir d'une dll C++ sous Windows Seven 64bits [ par sherault ] Bonjour, Voici un point de blocage sur lequel je bute depuis pas mal de temps. Merci à ceux qui pourront m'aider. J'ai développé un soft qui fonctio Utilisation DLL dynamique / getprocAddress null [ par Inutqen ] Bonjour à tous ! J'essaye d'utiliser une DLL fournie sans .lib, mais avec un beau .h, du coup je tente la combo LoadLibrary et GetProcAddress. Le pro Utilisation Dll C# dans Appli C++ [ par romain60112 ] Bonjour à tous, Je souhaite utiliser une DLL C# dans une application C++. Dans mon fichier principale je déclare : #using "MaDLL.dll"("MaDLL.dll" ce


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,452 sec (3)

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