Article View: es.comp.lenguajes.java
Article #17067Re: Callback en Java (2)
From: Alberto Fdez
Date: Mon, 04 Dec 2000 00:00
Date: Mon, 04 Dec 2000 00:00
62 lines
2724 bytes
2724 bytes
On Fri, 01 Dec 2000 23:36:21 +0100, Juan Gonzalo de Silva Medina
<gonzalo@caymasa.es> wrote:
(.....)
Hola Juan,
Antes de nada decirte que gracias por las molestias,
>
>
>He tenido que perderme algo desde que hice mi programa nativo o esto no
>me cuadra nada...
>
>Espera, espera, ya lo tengo, tsch! puede, no estoy seguro, pero, si no
>leo mal tu c�digo, est�s creando una nueva instancia de m�quina virtual
>de Java �no? �para qu� estas haciendo esto? �En windows es as�? es muy
>raro, te pongo lo que yo he hecho en OS/2...
>
>Lo que yo tengo en Java:
>
>private native int cargaMonederoEuro6000Peer(int, java.lang.String,
>java.lang.String, java.lang.String, java.lang.String, int);
Si, pero mi problema es que NO tengo en mi c�digo Java, ninguna llamada
"native" (No la necesito, ni quiero).
La notificaci�n C++ hacia Java a de ser espontanea, sin ninguna llamada previa
(desde Java) a un metodo nativo (en C++)
(... Cortado ...)
>
>1.- Crear una clase java Runneable.
>2.- Crear un m�todo nativo que ser� el invocado.
>3.- Crear un m�todo java (dentro de ese objeto) si quieres puede ser
>est�tico, claro.
>4.- llamar al m�todo nativo desde el run.
>5.- cuando en la parte nativa ocurra algo, llamar al objeto para que
>procese el evento.
>
Presuponiendo que me hago una "native", una que se llame "InicializaCosas()"
(por ejemplo), para as� obtener el entorno del hilo en donde mi VM corra.
private native int InicializaCosas(void){...}
/* Y en C++, el H, tras pasar el javah.. que quede: */
InicializaCosas
JNIEXPORT jint JNICALL Java_InicializaCosas (JNIEnv *, jobject); // � Similar.
El problema que detro de Java_InicializaCosas() Na llama a ningun metodo Java
sino en un hilo distinto (y dios sabe cuando) en dodnde le tengo que llamar.
Lo Obvio, parece que es guardar el JNIEnv *,... en alguna variable global (o
similar) para posteriormente usarlo, pero no funciona.
Un saludo.
--
Alberto Fdez
<afernandeza$%&polar.es>
<afa07$%&tid.es> // Where "$%&" = '@', Of course ...
Technical Details
Message-ID:
<sunm2tk344itj1k29ameub70fhunnucvj0@4ax.com>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<902rmp$msd$1@nnrp1.deja.com> <3A26BF55.3010008@caymasa.es> <otue2tg89dg7hc87a0cggf4faqucqbhn3i@4ax.com> <3A2827E5.4050801@caymasa.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,766135f76ea77199 X-Google-Attributes: gid1116f3,public From: Alberto Fdez <albertoFdez@ver.Firma.see.Signature> Subject: Re: Callback en Java (2) Date: 2000/12/04 Message-ID: <sunm2tk344itj1k29ameub70fhunnucvj0@4ax.com> X-Deja-AN: 700889050 Content-Transfer-Encoding: 8bit References: <902rmp$msd$1@nnrp1.deja.com> <3A26BF55.3010008@caymasa.es> <otue2tg89dg7hc87a0cggf4faqucqbhn3i@4ax.com> <3A2827E5.4050801@caymasa.es> Organization: Telefonica I+D Content-Type: text/plain; charset=ISO-8859-1 Mime-Version: 1.0 Newsgroups: es.comp.lenguajes.java