Accueil > Forum > > > > dll est-elle classique
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|