जेएनए का उपयोग करते हुए युक्त mulitple कक्षाओं के साथ DLL विधियों तक पहुंच



jna nativelibrary (1)

मैं जेएनए के जरिए जावा से डीएलएल एक्सेस करने के लिए नया हूँ, मुझे माफ कर दो अगर यह सबको स्पष्ट है! मुझे DLL (जो कि VB में लिखा गया था) के भीतर एक क्लास से तरीकों तक पहुंच की आवश्यकता है और लायब्रेरी को लोड करने से ऐसा नहीं कर सकता है क्योंकि मैं देख रहा हूँ कि इसमें एक क्लास का उपयोग कैसे करना है Ie डीएलएल को सीडीराकंट्रोल डीएलएल कहा जाता है, लेकिन कक्षा मुझे जिस DLL तक पहुंचने की आवश्यकता है, वह है DrawCtl इसलिए मुझे ड्राकैट क्लास का एक उदाहरण प्राप्त करने की आवश्यकता है। तो सब कुछ, मैं कैसे इस पद्धति को डीएनएल में JNA का उपयोग कर सकता हूँ?

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

आप को एक COM आवरण का उपयोग करने की सबसे अधिक संभावना है, JACOB या com4j का प्रयास करें उन परियोजनाएं एक इंटरफ़ेस परिभाषा फ़ाइल को स्कैन कर सकती हैं और संबंधित जावा ऑब्जेक्ट उत्पन्न कर सकती हैं।