Hallo,
Da com4j bei der Verwendung der MS SAPI leider Events verschluckt werde ich wohl oder übel JNI verwenden müssen.
Leider sind meine C++ Kenntnisse eher bescheiden (2SWS Praktikum vor einem Jahr).
Daher habe ich bevor ich anfange ein paar Fragen. Da JNI sprezifisch hier im Java Forum, leider jedoch vor allem durch meine C++ igkeit überhaupt erst aufgetreten.
1. Ich muss eine Referrenz auf ein natives Objekt halten. Und zwar für jedes Javaobjekt welches die native Methode besitzt ein eigenes Natives Objekt. Also Jedes Objekt vom Typ JSpeaker soll eine Referrenz auf ein natives Objekt vom Typ ISpeechVoice haben. Wo speichere ich diese Referenz? Im Javabereich oder im nativen Bereich?
1. Der JNIEnv Pointer ist ja nur im eigenen Tread gültig. Ich habe jetzt jedoch die Situation dass meine DLL Events erzeugt, die ich abhöre. Die Events kommen natürlich aus einem nativen Thread. Wie also bekomme ich von da einen gültigen JNIEnv Pointer um das Event an meine Javaklasse weiterleiten zu können?
Leider sind die meisten Beispiele die ich so finde In C und nicht in C++ weshalb ich mir nicht wirklich sicher bin in wie fern die native Seite an Objekte der Javaseite gebunden ist.
Danke für eure Mühen
Andibert
Da com4j bei der Verwendung der MS SAPI leider Events verschluckt werde ich wohl oder übel JNI verwenden müssen.
Leider sind meine C++ Kenntnisse eher bescheiden (2SWS Praktikum vor einem Jahr).
Daher habe ich bevor ich anfange ein paar Fragen. Da JNI sprezifisch hier im Java Forum, leider jedoch vor allem durch meine C++ igkeit überhaupt erst aufgetreten.
1. Ich muss eine Referrenz auf ein natives Objekt halten. Und zwar für jedes Javaobjekt welches die native Methode besitzt ein eigenes Natives Objekt. Also Jedes Objekt vom Typ JSpeaker soll eine Referrenz auf ein natives Objekt vom Typ ISpeechVoice haben. Wo speichere ich diese Referenz? Im Javabereich oder im nativen Bereich?
1. Der JNIEnv Pointer ist ja nur im eigenen Tread gültig. Ich habe jetzt jedoch die Situation dass meine DLL Events erzeugt, die ich abhöre. Die Events kommen natürlich aus einem nativen Thread. Wie also bekomme ich von da einen gültigen JNIEnv Pointer um das Event an meine Javaklasse weiterleiten zu können?
Leider sind die meisten Beispiele die ich so finde In C und nicht in C++ weshalb ich mir nicht wirklich sicher bin in wie fern die native Seite an Objekte der Javaseite gebunden ist.
Danke für eure Mühen
Andibert