begin process at 2012 02 13 13:29:23
  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 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 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 ShortByReference qui pointe vers un tableau de short ? [ par aurhas ] Bonjour, en utilisant JNA, je cherche à récupérer des valeurs renvoyées par une fonction de ma DLL. ma fonction C est : [code=cpp]int read (int ftHan Crash JVM - msvcr71.dll [ par chibimi ] Bonjour, J'ai un problème avec mon programme java, j'ai très régulièrement l'erreur suivante : # # A fatal error has been detected by the Java Runt 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 utilisation d'une dll en java [ par lak75 ] Bonjour, j'ai une application java qui tourne sur pc et je cherche a récuperer un fichier enregistré sur un pda. j'utilise la librairie rapi.dll qui Acceder à une DLL ecrite en c++ à partire d'une app java [ par logarsalem ] Bonjour à tous, j'ai un fichier DLL ecrit en c++ qui contient des méthodes, Comment je procéde  pour utiliser ces méthodes à partire d'une application Velleman K8000 et java ?! [ par zegam0rz ] Bonjour,Je suis automatitien, je travail avec cartes velleman K8000 habituellement sous Delphi. Je dois réaliser un projet sous java, je n'arrive pas


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,186 sec (3)

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