begin process at 2010 02 10 07:56:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Systeme

 > 

Chargement dans dll.


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

Chargement dans dll.

mardi 1 avril 2003 à 16:59:39 | Chargement dans dll.

sikstar

Bonjour, j'programme en java swing.

J'voudrais créer un prog de gestion pour mon interface k8000 de chez velleman, j'ai réussi à faire ce prog en vb, mais pas en java.

En fait les fonctions de base sont définies dnas une dll et sous java je n'arrive pas a appeler ces fonctions :(

Kk'un pourrait m'aider svp?

exemple:

private void start_k8000()
{
//Action ki va chercher start_k8000 dans la dll
}

Merci

BuBYE
mercredi 2 avril 2003 à 20:54:01 | Re : Chargement dans dll.

CoreBreaker

Il faut que ta methode
private void start_k8000()

soit native ainsi sa définition est dans une DLL et elle appelle
ta DLL

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> Bonjour, j'programme en java swing.
>
> J'voudrais créer un prog de gestion pour mon interface k8000 de chez velleman, j'ai réussi à faire ce prog en vb, mais pas en java.
>
> En fait les fonctions de base sont définies dnas une dll et sous java je n'arrive pas a appeler ces fonctions :(
>
> Kk'un pourrait m'aider svp?
>
> exemple:
>
> private void start_k8000()
> {
> //Action ki va chercher start_k8000 dans la dll
> }
>
> Merci
>
> BuBYE
jeudi 3 avril 2003 à 19:40:45 | Re : Chargement dans dll.

sikstar


ui j'ai appris ca et bien j'l'ai fait mais ca marche tjrs pas :(

voila ske j'ai fait :

static { System.load("k8d"); }

public static native void Start_k8000();

Kan je compile, pas d'erreur, et kan j'exécute ... erreur :

java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: k8d

Idée?

Tu penses pas ke la dll doit etre d'un format bien spécifique (pour le JNI) et ke leur driver dll ne l'est pas ?

Merci

BuBYE
jeudi 3 avril 2003 à 19:54:56 | Re : Chargement dans dll.

CoreBreaker

oui bien sur
il faut compiler le code java et ensuite générer le code C++ avec javah pour en faire une dll.
Sinon ton code java est bon

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

>
> ui j'ai appris ca et bien j'l'ai fait mais ca marche tjrs pas :(
>
> voila ske j'ai fait :
>
> static { System.load("k8d"); }
>
> public static native void Start_k8000();
>
> Kan je compile, pas d'erreur, et kan j'exécute ... erreur :
>
> java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: k8d
>
> Idée?
>
> Tu penses pas ke la dll doit etre d'un format bien spécifique (pour le JNI) et ke leur driver dll ne l'est pas ?
>
> Merci
>
> BuBYE
vendredi 4 avril 2003 à 09:19:09 | Re : Chargement dans dll.

sikstar

UI mais ma dll est déjà compilée (c leur driver) et je n'ai pas la source.
Et j'me demande pourkoi je n'arrive pas a charger les fonctions si mon code est bon?

J'ai kan meme réussi a chopper les sources:

voila un exemple dans le fichier *.c*

/*IO CONFIGURATION PROCEDURES*/
__declspec( dllexport ) void ConfigAllIOasInput(void);
__declspec( dllexport ) void ConfigAllIOasOutput(void);
__declspec( dllexport ) void ConfigIOchipAsInput(int Chip_no);
__declspec( dllexport ) void ConfigIOchipAsOutput(int Chip_no);
__declspec( dllexport ) void ConfigIOchannelAsInput(int Channel_no);
__declspec( dllexport ) void ConfigIOchannelAsOutput(int Channel_no);

en voila un du fichier *.h*

/*IO CONFIGURATION PROCEDURES*/
extern void ConfigAllIOasInput(void);
void (*ConfigAllIOasOutput)(void);
extern void ConfigIOchipAsInput(int Chip_no);
extern void ConfigIOchipAsOutput(int Chip_no);
void (*ConfigIOchannelAsInput)(int Channel_no);
extern void ConfigIOchannelAsOutput(int Channel_no);

Alors je dois faire koi?

Compiler le fichier *.h* avec javah? et ensuite ?

Merci

BuBYE

sik
mardi 8 avril 2003 à 01:46:54 | Re : Chargement dans dll.

CoreBreaker

Désolé je me suis mal fait comprendre.

Déja tu dois compiler ta classe java avec la méthode native.
ensuite tu utiliser javah pour produire le code c++ qui va te servir à faire une dll que la machine virtuelle java va utiliser.
Avec javah tu produit un fichier .cpp (ou .c je ne sais plus de toute façon le résultat et le même) et .h. Tu ne dois modifier que le .cpp. Tu sois ensuite le .cpp et le .h dans un projet pour en faire une dll.

Dans le source .c tu utilise ensuite les fonctions d'appel de ta dll qui fait office de driver (celle que tu m'a montrer). Je ne sais pas comment on doit les utiliser. Je pense tout de même que tu auras besoin d'un fichier .lib ou d'un fichier .def pour faire la liaison avec ta dll driver.

Ainsi la machine virtuelle java lorsque tu appelles la méthode native, appellera la fonction que javah a produit et cette fonction c appellée utilisera les fonctions de ton driver (ta DLL).

Situ veux:
Si tu me fait une fonction en c qui permette d'utiliser convenable ton drivers ou les fonctions qui sont censé être appelée par les méthodes java (en me fournissant en plus la classe java et les différente fonctions c appelées par les différentes méthode en m'indiquant les correspondances), je te produirait tour les sources nécessaires pour la communication avec ta dll.

Alors, transmets moi tout ça à metaos@free.fr

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> UI mais ma dll est déjà compilée (c leur driver) et je n'ai pas la source.
> Et j'me demande pourkoi je n'arrive pas a charger les fonctions si mon code est bon?
>
> J'ai kan meme réussi a chopper les sources:
>
> voila un exemple dans le fichier *.c*
>
> /*IO CONFIGURATION PROCEDURES*/
> __declspec( dllexport ) void ConfigAllIOasInput(void);
> __declspec( dllexport ) void ConfigAllIOasOutput(void);
> __declspec( dllexport ) void ConfigIOchipAsInput(int Chip_no);
> __declspec( dllexport ) void ConfigIOchipAsOutput(int Chip_no);
> __declspec( dllexport ) void ConfigIOchannelAsInput(int Channel_no);
> __declspec( dllexport ) void ConfigIOchannelAsOutput(int Channel_no);
>
> en voila un du fichier *.h*
>
> /*IO CONFIGURATION PROCEDURES*/
> extern void ConfigAllIOasInput(void);
> void (*ConfigAllIOasOutput)(void);
> extern void ConfigIOchipAsInput(int Chip_no);
> extern void ConfigIOchipAsOutput(int Chip_no);
> void (*ConfigIOchannelAsInput)(int Channel_no);
> extern void ConfigIOchannelAsOutput(int Channel_no);
>
> Alors je dois faire koi?
>
> Compiler le fichier *.h* avec javah? et ensuite ?
>
> Merci
>
> BuBYE
>
> sik
samedi 28 avril 2007 à 13:52:36 | Re : Chargement dans dll.

sniper_hma

K8000 sur www.scalinet.com

 sniper


Cette discussion est classée dans : java, chargement, dll, prog, k8000


Répondre à ce message

Sujets en rapport avec ce message

PKCS11 chargement dll-java [ par pougi95 ] Bonjourj ai une dll respectant la norme pkcs11 il fait que je récupère le certificat et la clé pour pouvoir effectuer une signature de PDFsachant que charger une dll en java [ par lak75 ] Bonjour, En Java, comment utiliser les fonctions de la librairie RAPI.dll pour les transferts entre Pc et Pocket ? J’ai une appli java qui tourne sur Parseur XML, prog Java [ par Rom1S ] Bonjour,Je suis en train d'écrire un parseur de fichiers XML sour Java (sur eclipse). Mon algo est pratiquement terminé, mais quelques erreurs subsist EXCEPTION_ACCESS_VIOLATION (0xc0000005) [ par sid002 ] Bonjour, Je constate que mon programme bug de temps en temps, je penses que ça correspondrait au moment ou je stocke des données sur access mais suis Controle d'une appli externe à partir d'une appli java [ par rosenfel ] Bonjour tout le monde,une question très urgente et que je ne maitrise pas en java, je vous serai reconnaissant de votre aide!J'ai créé un prog Java qu chargement d'un fichier sur une application java [ par aminovic41 ] stl, jai concu une application java dans laquelle je passe sur recherche et là la fonction recherche marche très bien mais, quand je choisi un fichier aide compiler java [ par billy123 ] bonjourg acheté récemment un bouquin Java pour apprendre ce langageg installé sdk 1.4.1 dans c:\program files \j2sdkensuite , comme il faut changer l' chargement d'mages avec java [ par rooney1001 ] bonjour , est ce que quelq'un a une idée pour charger une image depuis un serveur pour juste la visualiser sur un jframe , mon probleme c'est comment convertir JAVA en EXE et DLL [ par caiman125 ] Bonjours tous le mondey a t'il un moyen de convertir un projet JAVA en un executable et des fichers DLL pour simplifier la mise a jours du projet sur


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

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

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