2012-01-04 1 views
0

Я новичок в доступе к DLL-файлам с Java, используя JNA, поэтому, простите меня, если это очевидно для всех! Мне нужно получить доступ к методам из класса в DLL (который был написан на VB) и не может сделать это, просто загрузив библиотеку, как я вижу, как получить доступ к классу внутри него I.e. DLL называется CDrawControl.dll, но класс в DLL, который мне нужен, - DrawCtl. Поэтому мне нужно получить экземпляр класса DrawCtl. Итак, как мне достичь этого метода в DLL, используя JNA?Доступ к DLL-методам с использованием классов mulitple с использованием JNA

I.e. CDrawControl.DrawCtl.SaveFile()

Это, наверное, что-то очень просто, что мне не хватает.

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!! 
} 

ответ

0

Вам, скорее всего, придется использовать COM-обертку, попробуйте JACOB или com4j. Эти проекты могут сканировать файл определения интерфейса и генерировать соответствующие объекты Java.