dll jna nativelibrary

Acceder a los métodos DLL con múltiples clases conteniendo JNA



nativelibrary (1)

Soy nuevo en el acceso a las DLL de Java usando JNA, ¡así que perdónenme si esto es obvio para todos! Necesito acceder a los métodos de una clase dentro de una DLL (que estaba escrita en VB) y no puedo hacer esto simplemente cargando la biblioteca cuando veo cómo acceder a una clase dentro de ella, es decir, la DLL se llama CDrawControl.dll, pero la clase dentro La DLL a la que necesito acceder es DrawCtl. Entonces necesito obtener una instancia de la clase DrawCtl. Entonces, en general, ¿cómo llegar a este método en la DLL usando JNA?

Es decir, CDrawControl.DrawCtl.SaveFile ()

Probablemente es algo muy simple que me falta.

public class ReadDLL { public interface ChemDrawCtl12 extends Library { CDrawControl INSTANCE = (CDrawControl) Native.loadLibrary( (Platform.isWindows() ? "CDrawControl" : "CDrawCtl12LinuxPort"), CDrawControl.class); void DrawCtl.SaveAs(); // this is wrong but shows what I am trying to do!! }


Lo más probable es que necesite usar un contenedor COM, intente con JACOB o com4j. Esos proyectos pueden escanear un archivo de definición de interfaz y generar objetos Java correspondientes.