• Miércoles 8 de Mayo de 2024, 23:59

Autor Tema:  Sincronizar Jni  (Leído 1051 veces)

1cacalvo

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Sincronizar Jni
« en: Lunes 17 de Diciembre de 2007, 10:07 »
0
Estoy realizando una aplicación que desde código nativo C++ se comunica con Java por medio de JNI.

Lo que necesito es levantar la JVM y lanzar una clase que me crea un panel AWT, el problema que tengo es que necesito que sea Modal, es decir, que mientras este el panel abierto, el usuario no pueda interectuar con mi aplicación...

Citar
hVM = ::LoadLibrary( jvmPath_ );
  if (hVM == NULL)
  {
    return;
  }

  vm_args_.version = 0x00010002;
  JNI_GETDEFAULTJAVAVMINITARGS initArgsVM = (JNI_GETDEFAULTJAVAVMINITARGS)JNU_GetDefaultArgsVM();
  initArgsVM(&vm_args_);

  vm_args_.classpath = "d:/aplib/s211/bin";
 
  // carga dinamicacmente la libreria de java
  JNI_CREATEJAVAVM createVM=  (JNI_CREATEJAVAVM)JNU_FindCreateJavaVM();
  res_ = createVM(&jvm_, (void**)&env_, &vm_args_);
  if (res_ < 0)
  {
    RTS_TRACE0( jni_invoker_id , "Can't create Java VM");     
    return;
  }
   
  cls_ = env_->FindClass("DemoPanel");
  //Esta llamada devuelve nulo

  env_->GetStaticMethodID(cls_,"main","([Ljava/lang/String;)V");

                  Un saludo cALvET

PD: SI teneis información sobre JNI a ser posible en castellano me indicais link o me la pasais....