Was genau hast du denn angepasst?
Also lässt du immer noch den Pfad über die Registry ermitteln? Ist Path dann gültig? (also auch der Wert, einfach mal ausgeben).
Ja, könnte jetzt nur gut weiterraten, aber das hilft ja dann auch nicht viel. Läuft denn das Programm das ich dir geschickt hatte überhaupt? Wenn ja, dann lager doch den Teil, den du brauchst aus (würde ich dir eh empfehlen). Leg dann eine Methode an, die die JVM und das JniEnv erzeugt (und eine die es auch wieder frei gibt). Ja, mit C++ oder Delphi hast du da immer noch klare Vorteile (was hat dein Chef an denen auszusetzen?!).
Jedenfalls kann ein solcher Fehler an mehreren Dingen liegen (etwas fuzzy und vielleicht nicht vollständig oder richtig):
- Pfad zur Dll ist ungültig
- jvm oder env sind ungültig, hier ist es wichtig nicht einen Zeiger auf einen Zeiger oder so zu übergeben sondern den Zeiger auf die JavaVM Struktur bzw. das JNIEnv.
- Deine jvm ist irgendwo lokale Variable, dann wird die mit dem verlassen der Methode auch aufgeräumt...
Wären jetzt so die ersten Punkte die mir einfallen. Musst du mal schauen.