Jag har en dll med några funktioner som jag använder i mitt javaprogram! du kan ju använda JNI (Java Native Interface), dvs skriv en C/C++ bit som ger dej access på lämpligt sätt till den funktionalitet från Dll:en OK, så det går inte att göra i java då? beror på hur mycket grejer du vill ha tillgängligt i java och hur dll:ens interface ser ut, inte är det egentligen så svårt, men lite drygt.. Den enda jag skall göra med DLL:n är anropa en funktion med ett värde och sedan finns det ett par funktioner som anropas utan argument vilka då innehåller vissa värden. då borde det inte vara så invecklat.. http://danadler.com/jacob/ ...fast din applikation blir ju inte särskilt plattformsoberoende...fast det kanske inte är ett krav heller? Om det inte är alltför mycket jobb är det bättre att skriva om din dll i java istället.Använda dll ifrån javaprogram
Som det är nu anropar javaprogrammet ett asp script som behandlar data genom dll filen och sedan skriver ut detta. Javaprogrammet läser sedan det som asp scriptet producerar och får på så sätt rätt data!
Saken är att detta blir mycket långsamt, finns det någon effektivare sätt att direkt anropa dll:ens funktioner ifrån javaprogrammet?Sv: Använda dll ifrån javaprogram
http://java.sun.com/docs/books/jni/Sv: Använda dll ifrån javaprogram
tyvärr kan jag inte c++....
är det enkelt att skriva ett c++ program som använder dll:n ?Sv: Använda dll ifrån javaprogram
Sv: Använda dll ifrån javaprogram
dll.funktion1(ett tal)
minvariabel = dll.funktion2()
minvaribal2 = dll.funktion3()
borde väl finnas något klasspaket eller liknande för detta?
Om man skall göra det i C++, hur gör man då?Sv: Använda dll ifrån javaprogram
angående "det borde väl finnas nåt klasspaket för detta" så är det just det som det inte gör (vad jag vet åtminstone) såvida inte tillverkaren av dll:en tillhandahåller ett dylikt klasspaket dvs. java API för den..
om du ska göra det i c++ så först skriver du en javawrapper
typ
class Wrapper {
public native static void funktion1(int foo);
public native static int funktion2();
public native static int funktion3();
}
om det nu är så dom ser ut
javac Wrapper.java
sen kör du javah -jni Wrapper
därefter implementerar du funktionerna som finns deklarerade i Wrapper.h, mer eller mindre kalla direkt på dll funktionerna
kompilera skiten och länka med dll:en
tuta och kör..Sv: Använda dll ifrån javaprogram
/Nils