Belépés
remind me!
Támogatás
Friss hozzászólások
auth.gabor - Tue Mar 09 16:22:51 CET 2010
norbi - Tue Mar 09 15:49:57 CET 2010
auth.gabor - Tue Mar 09 13:57:39 CET 2010
norbi - Tue Mar 09 13:09:53 CET 2010
hBd - Mon Mar 08 15:43:03 CET 2010
gaben - Mon Mar 08 15:01:55 CET 2010
gaben - Mon Mar 08 14:50:46 CET 2010
auth.gabor - Mon Mar 08 10:53:37 CET 2010
hBd - Mon Mar 08 09:04:54 CET 2010
(K)risztián - Mon Mar 08 08:21:50 CET 2010
hBd - Sun Mar 07 23:16:29 CET 2010
szimi - Sun Mar 07 09:42:05 CET 2010
auth.gabor - Sat Mar 06 21:47:22 CET 2010
hBd - Sat Mar 06 19:53:57 CET 2010
auth.gabor - Fri Mar 05 21:52:41 CET 2010
hBd - Fri Mar 05 16:59:05 CET 2010
Tomi1226 - Fri Mar 05 00:34:50 CET 2010
gaben - Tue Mar 02 20:10:24 CET 2010
gaben - Tue Mar 02 18:52:05 CET 2010
Tomi1226 - Tue Mar 02 16:28:02 CET 2010
jalab - Sat Feb 27 17:45:51 CET 2010
gaben - Tue Feb 23 21:19:49 CET 2010
gaben - Tue Feb 23 21:06:21 CET 2010
xesj.hu - Tue Feb 23 14:17:29 CET 2010
Fórum - Java programozóknak
JNI hiba - gallz - Sun Jan 24 10:03:46 CET 2010
Kösz a gyors választ!

Igen, ezt már néztem. -Djava.library.path=dll könyvtárt beállítottam Netbeans VM opcióknál.
 Parancssorból is futtattam már, ugyan ez a hiba.
 www.gallz.info/mindset/ThinkGear.zip  ide felraktam így jobban érthető miről van szó.
 
JNI hiba - auth.gabor - Sat Jan 23 12:28:08 CET 2010
A java.library.path be van állítva rendesen?
Forráskód mégegyszer - gallz - Fri Jan 22 22:11:14 CET 2010
 
public class ThinkGear {

/* Load DLL library */
static {
try{
System.out.println("betöltés...");
System.loadLibrary("thinkgear");
System.out.println("thinkgear betöltve");
}
catch (UnsatisfiedLinkError e) {
System.err.println("Nem sikerult betolteni a ...\n" + e);
}
}...


public class Mindset {

public static void main(String[] args) {
System.out.println(ThinkGear.GetDriverVersion());
}
}
UnsatisfiedLinkError - gallz - Fri Jan 22 22:05:37 CET 2010
Hello!



Szeretnék Java-ból hozzáférni egy DLL-ben lévő függvényekhez. Ehhez készült egy osztály, ami elvégzi a betöltést, és tartalmazza a hívható függvények neveit.
A DLL betöltése rendben meg is történik, de amikor egy függvény meghívására kerül sor a fő osztályból, akkor az alábbi kivétel keletkezik. 

"Exception in thread "main" java.lang.UnsatisfiedLinkError: mindset.ThinkGear.GetDriverVersion()I
at mindset.ThinkGear.GetDriverVersion(Native Method)"

Ez az interface osztály "ThinkGear.java"
public class ThinkGear {/* Load DLL library */static {    try{
         System.out.println("betöltés...");
         System.loadLibrary("thinkgear"); 
         System.out.println("thinkgear betöltve");
   }
   catch (UnsatisfiedLinkError e) {
         System.err.println("Nem sikerult betolteni a ...\n" + e);
    }
}...

Ez pedig a főosztály

public class Mindset {

    public static void main(String[] args) {
          System.out.println(ThinkGear.GetDriverVersion());
    }
}
[/code] 

Mit kéne másképp csinálni?
Fontos linkek
Társoldalak
Callback image