2010-06-18 18 views
0

Je crée une application Java qui contrôle un contrôleur CAN (Controller Area Network) via un fichier can.dll fourni par le fournisseur.DLL du contrôleur CAN avec l'application Java. Impossible d'ouvrir le port CAN

can.dll contient une fonction bool OpenPort (DWORD memaddr) qui permet à l'application pour établir la connexion avec le contrôleur de CAN.

J'ai écrit une application de test C++, chargé can.dll via LoadLibrary et trouvé cette fonction pour fonctionner comme il se doit, c'est-à-dire qu'il retourne vrai.

Cependant, dans mon application Java, appeler ceci via JNI ou JNA renvoie false.

J'espère que quelqu'un peut m'aider avec ce problème car j'ai essayé de résoudre ce problème pendant plus d'une semaine.

Merci de JL

+0

Vous ne pouvez pas appeler les fonctions C++ en utilisant JNA, l'avez-vous marqué de manière appropriée comme "extern" C "' dans votre code ** C++ **? –

Répondre

0

Je pense que vous voudrez peut-être regarder prises comme une alternative ou d'autres solutions IPC.