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

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

dll est-elle classique


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

dll est-elle classique

mercredi 7 avril 2010 à 14:50:16 | dll est-elle classique

avg

Salut à tous,

j'ai réaliser une dll avec visual studio 2005
j'ai réaliser une Applet java qui peut charger n'importe qu'elle dll, parcequ'elle est Signé ,mais seulement ma dll ne peut pas non seulement au niveau de navigateur mais aussi au niveau de Eclipse.
je croit que l'erreur c'est de dll comment je peut connaitre qu'elle est classique ou non si ça me résolu le probléme sinon c'est quoi l'erreur
Merci pour vos aides
mercredi 7 avril 2010 à 15:05:20 | Re : dll est-elle classique

avg

voila la dll :
Code C/C++ :
#include <windows.h>
#include<iostream>
#include "MORPHO_User.h"
#include "MORPHO_Device.h"
#include "MORPHO_Database.h"
#include "MORPHO_Errors.h"
#include "MORPHO_FieldDescriptor.h"

using namespace std ;

#pragma comment(lib,"MORPHO_SDK.lib")
HMODULE hinstDLL;
	int res;
	char *mso_name,*mso_prop;
	C_MORPHO_User u,nw,idf;
	C_MORPHO_Database cdb;
	C_MORPHO_Device c;
	C_MORPHO_TemplateList tmp_list;
	unsigned long t,nb_rcd,fld_ln,fld_uln,nb_user;
	unsigned char *id,*fld_dt,*fld_nm,*fld_nwnm,*fld_udt;
	T_MORPHO_FIELD_ATTRIBUTE fld_att;
	unsigned short fld_sz;


BOOL APIENTRY DllMain(HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
	switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH	: OutputDebugString("DLL_PROCESS_ATTACH\n"); break;
		case DLL_THREAD_ATTACH	: OutputDebugString("DLL_THREAD_ATTACH\n"); break;
		case DLL_THREAD_DETACH	: OutputDebugString("DLL_THREAD_DETACH\n"); break;
		case DLL_PROCESS_DETACH	: OutputDebugString("DLL_PROCESS_DETACH\n"); break;
	}

	return true;
}

///////////////////////////////////////////////////////////////////////////////
// Initialize
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI Initialize()
{
	hinstDLL=LoadLibrary("MORPHO_SDK.dll");
	if (hinstDLL == NULL) {
          return 0;
     }
   return 1;
	// Write here all the code you need to initialize the DLL
  
	
}

////////////////////////////////////////////////////////////////////////////////
// Release
//
////////////////////////////////////////////////////////////////////////////////
extern "C" void WINAPI Release()
{
	FreeLibrary(hinstDLL);
	
	// Write here all the code you need to free everything ...

}

////////////////////////////////////////////////////////////////////////////////
// opendevice
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI opendevice()
{
	c=C_MORPHO_Device::C_MORPHO_Device();
	res=c.OpenDevice(-1,115200);
	 
	return (res);
}
////////////////////////////////////////////////////////////////////////////////
// initUsb
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI initUsb()
{
	res=c.InitUsbDevicesNameEnum(&t);
	 if(res==0)
	 {
		 int nb=(int)t;
		 return(nb);
	 }else
	 {
		 return(res);
	 }
}
////////////////////////////////////////////////////////////////////////////////
// getdatabase
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI getdatabase()
{
	
	 
	res=c.GetDatabase(0,cdb);
	 return(res);
	
}
////////////////////////////////////////////////////////////////////////////////
// getnbrrecord
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI getnbrrecord()
{
	res=cdb.GetNbUsedRecord(nb_rcd);
	 if(res==0)
	 {
		 int nbr=(int)nb_rcd;
		 return(nbr);
	 }else
	 {
		 return(res);
	 }
	
}
////////////////////////////////////////////////////////////////////////////////
// getuser
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI getuser(int id)
{
	
      unsigned char reg[50];
      sprintf((char*)reg, "%i", id);
	  res=cdb.GetUser(MORPHO_USER_ID_MAXLEN,reg,u);
	 
	
		 return(res);
	 	
}
////////////////////////////////////////////////////////////////////////////////
// enroll
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI enroll()
{
	
     res=u.Enroll(0,0x01,MORPHO_PK_COMP,0,NULL,NULL);
	 
	
		 return(res);
	 	
}

////////////////////////////////////////////////////////////////////////////////
// identify
//
////////////////////////////////////////////////////////////////////////////////
extern "C" int WINAPI identify()
{
	
     res=cdb.Identify(0x11,MORPHO_FAR_5,0,NULL,NULL,idf);
	 if(res==0)
	 {
		 res=idf.GetField(0,fld_uln,fld_udt);
		 int nv=atoi((char*)fld_udt);
		 return(nv);
	 }else{
		 return(res);
	 }
	 
	 	
}
mercredi 7 avril 2010 à 18:26:30 | Re : dll est-elle classique

BruNews

Administrateur CodeS-SourceS
Regarde avec depends.exe, si tu vois tes noms de fonctions exportés comme il se doit (NON DECORES !!) alors tout va bon.
Ensuite fais un mini prog en C (pas en C++ ni aucun autre truc exotique) pour tester ta DLL.

ciao...
BruNews, MVP VC++
mercredi 7 avril 2010 à 19:15:12 | Re : dll est-elle classique

avg

Salut,
j'ai réaliser une dll vide avec Visual Studio 2005 mon Applet peut le charger mais pour lorsque j'ajoute les fonctions a exporté elle ne peut pas la charger
à chaque fois j'elimine une partie de code de dll et je test il parait que à ce code la l'Applet ne charge pas la dll

Code C/C++ :
extern "C" void WINAPI Release()
{
	FreeLibrary(hinstDLL);
	
	// Write here all the code you need to free everything ...

}

tous les fonctions à exporté sont comme cette structure pouvez vous m'aider à la modifier
Merci pour votre aide
mercredi 7 avril 2010 à 20:18:47 | Re : dll est-elle classique

BruNews

Administrateur CodeS-SourceS
Je ne bosse qu'en C ou ASM, je ne pourrais donc pas tester ton java.

hinstDLL=LoadLibrary("MORPHO_SDK.dll");
Pourquoi charger en dynamic ???
Link direct ta DLL avec celle que tu veux utiliser, le loader system se chargera IMPLICITEMENT du LoadLibrary comme du FreeKlibrary.

ciao...
BruNews, MVP VC++
jeudi 8 avril 2010 à 10:27:25 | Re : dll est-elle classique

avg

bonjour,

voila l'exception malgrés qye j'ai signé le jar de l'applet et jna.jar et met le dll sur le dossier System32 que peut mon Applet l'accede car elle peut charger msvcrt et les autres dll mais ma dll si j'ajoute le code des fonctions à exporté il ne voit pas la dll

Code Java :
Exception in thread "AWT-EventQueue-1" java.lang.UnsatisfiedLinkError: Unable to load library 'newdll': Le module spécifié est introuvable.


alors que dll existe je suis sure que c'est de la maniére dont j'écrit le code de la dll il se peut de externe "c"
Merci pour votre aide
jeudi 8 avril 2010 à 10:34:53 | Re : dll est-elle classique

avg

pour supprimer la notion de class c'est à dire :: en c++ j'ai réaliser cette dll qu'appelle l'autre dll puis je l'utilise en java car java ne connait pas les class c++
jeudi 8 avril 2010 à 11:13:50 | Re : dll est-elle classique

avg

il parait que l'erreur c'est de ce portion de code
Code C/C++ :
C_MORPHO_User u,nw,idf;
	C_MORPHO_Database cdb;
	C_MORPHO_Device c;
	C_MORPHO_TemplateList tmp_list;

c'est sont des class déclarer dans Morpho_User.h et créer par un autre programmeur dans la dll que je l'appelle MORPHO_SDK.dll
Note: je n'ai as créer ce dll
Mais j'ai de documentation
jeudi 8 avril 2010 à 11:49:33 | Re : dll est-elle classique

avg

Réponse acceptée !
enfin j'ai résolu mon probléme Mon Applet ne vient pas de voir ma dll TestDLL.dll car il faut ajouter les fichiers dll que TestDLL.dll l'utilise sur le même dossier que monApplet l'accede comme System32


Cette discussion est classée dans : dll, réaliser, niveau, seulement, classique


Répondre à ce message

Sujets en rapport avec ce message

Recherche fou de C pour réaliser une petite dll [ par loskiller62 ] BonjourProgrammeur VB, j'ai un besoin (relativement urgent) pour une dll. Il s'agit d'une fonction réalisable qu'en Cpp mais dont j'ai besoin pour mon Comment réliser une installation pour vos applications MFC [ par thr_dreamer_57 ] salut tout le monde et merci de votre attention Mon problème c'est que j'ai réaliser une petite application MFC (dont je vous ferai part prochai DLL sous matlab7.0. [ par christophe14 ] je doit réaliser un projet pour ma dernière année de bts IRIS il consiste à réaliser une bibliotheque de fonction sous matlab permetant de vérifier le Classe et Dll. [ par jamais34 ] Je dois modifier un programme réaliser en VC++, c'est à dire faire un .exe et d'autre part une dll qui doit gérer le port série et un protocole de com [C++] pb au niveau d'un .lib [ par Famidoo ] Bonjour, je souhaite générer une DLL.Pour cela ma DLL nécessite un certain nombre de fonctions présentent dans 3 .lib différentes que j'ai créé. Ainsi CREER ET UTILISER DLL SOUS DEV C++ [ par lectpe ] Bonjour à tous.Je voudrais créer et utiliser une dll en C et sous DEV C++ et je ne sais pas comment faire.J'ai beau chercher sur CS ou sur google, je lier une dll à une application [ par alaya12 ] SalutJe programme en visual studio C++ sous MFCJ'ai téléchargé un fichier dll gdiplus.dll et je ne sais pas comment le lier à mon application.Merci de DLL VC++ utilisée dans un EXE VB2008 [ par oliv72 ] Bonjour à tous,Je tente de faire un outil de monitoring en VB2008, au moyen d'une DLL écrite en C++. Problème : je ne connais ni VC++, ni VB2008, Le point d'arrêt ne sera pas atteint pour l'instant [ par oliv72 ] Je tente de debugguer une DLL VC++ appelée par un EXE VB2008.J'ai bien mis mon projet en debug, mais quand je place un point d'arrêt dans le code de m


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

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