Hallo zusammen!
nachdem ich in Folge dieses Threads beschlossen habe, in einem größeren Projekt auf Java-Klassen zuzugreifen (statt .NET), bin ich also nunmehr dabei, mich mit Java und dem JNI anzufreunden; dabei werden kleine Erfolgserlebnisse von Rückschlägen begleitet...
Mein aktuelles Problem:
Ich definiere eine Java-Klasse (irgendetwas Simples) namens 'test' und übersetze diese zu 'test.class'.
Mein Delphi-Programm lädt die JVM und findet die Klasse:
Alles ist gut.
Übersetze ich die Klasse nun als Package 'mypack' gehen die Probleme los: FindClass findet die Klasse nicht mehr.
Hm, wird wohl am ClassPath liegen...
Mit
hat die Variante ohne Package funktioniert.
Ich habe nun fast den ganzen Tag mit Herumprobieren und Googeln zugebracht.
- Ich habe test.java mit der Option -d übersetzt und so das Package-Verzeichnis mypack erzeugt.
- Ich habe alle möglichen Varianten für ClassPath probiert, u. a.:
(ich habe irgendwo gelesen,. dass der absolute Pfad mit Backslashes ok sein soll)
- Ich habe in FindClass die 'komplette' Klassenbezeichnung angegeben:
- Ich bin ratlos .
Hat jemand eine Idee?
Herzliche Grüße
Michael.
PS: Ich arbeite übrigens mit dem Tutorial von Matthew Mead.
nachdem ich in Folge dieses Threads beschlossen habe, in einem größeren Projekt auf Java-Klassen zuzugreifen (statt .NET), bin ich also nunmehr dabei, mich mit Java und dem JNI anzufreunden; dabei werden kleine Erfolgserlebnisse von Rückschlägen begleitet...
Mein aktuelles Problem:
Ich definiere eine Java-Klasse (irgendetwas Simples) namens 'test' und übersetze diese zu 'test.class'.
Mein Delphi-Programm lädt die JVM und findet die Klasse:
Code:
Cls := FJNIEnv.FindClass('test');
Übersetze ich die Klasse nun als Package 'mypack' gehen die Probleme los: FindClass findet die Klasse nicht mehr.
Hm, wird wohl am ClassPath liegen...
Mit
Code:
Options[0].optionString := '-Djava.class.path=.';
Ich habe nun fast den ganzen Tag mit Herumprobieren und Googeln zugebracht.
- Ich habe test.java mit der Option -d übersetzt und so das Package-Verzeichnis mypack erzeugt.
- Ich habe alle möglichen Varianten für ClassPath probiert, u. a.:
Code:
Options[0].optionString := '-Djava.class.path=D:\JavaTest\mypack';
- Ich habe in FindClass die 'komplette' Klassenbezeichnung angegeben:
Code:
Cls := FJNIEnv.FindClass('mypack.test');
Hat jemand eine Idee?
Herzliche Grüße
Michael.
PS: Ich arbeite übrigens mit dem Tutorial von Matthew Mead.
Comment