Probléme de chargement de ma dll avec Applet même sous Eclipse

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 7 avril 2010 à 13:02
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 7 avril 2010 à 19:14
Bonjour à tous,

j'ai un jar contenant Applet qui charge un dll
j'ai :
- signer le jar contenant l'Applet
- signer le jna.jar
tout va bien avec n'importe qu'elle dll même dll System mais pour ma dll
(Note: dll réaliser avec Visual stidio 2005)
mon applet lors de l'execution sous Eclipse ou navigateur même erreur
Exception in thread "AWT-EventQueue-1" java.lang.UnsatisfiedLinkError: Unable to load library 'TestDLL': Le module spécifié est introuvable.

Ma dll est charger normalement si je le charge avec une application Normal mais pour une Applet même sous Eclipse ne le trouve pas

je crois que l'erreur c'est de la dll (faut qu'elle est Signé peut étre)
Merci pour vos aides

2 réponses

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
7 avril 2010 à 13:03
même si j'ai mis la dll sur system32
voila la dll est ce qu'elle est classique je sais pas
////////////////////////////////////////////////////////////////////////////////
//
//
//
// -----------------------------------------------------------------------------
//
//  File		 : TestDLL.cpp
//  Project		 : Client TestDLL
//  Role		 : API implementation of the DLL
//  Date		 : Created on 31/12/2003
//  Author(s)	 : Bruno Wieckowski (Exood4 Studios)
//
////////////////////////////////////////////////////////////////////////////////

#include <windows.h>
#include
#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);
 }
 
 	
}
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
7 avril 2010 à 19:14
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
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
0
Rejoignez-nous