Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Problem mit Zugrif auf Klasse in älterer DLL
SunboX
myCSharp.de - Member



Dabei seit:
Beiträge: 120
Herkunft: Vogtland

Themenstarter:

Problem mit Zugrif auf Klasse in älterer DLL

beantworten | zitieren | melden

Hi, ich habe eine ältere DLL, welche in VB geschrieben wurde. Nun wollte ich die Funktionen in dieser DLL, b.z.w. in der Klasse in der DLL benutzen. Allerdings ist es nur bei dem Versuch geblieben. Hier mein Code, die Klasse sowie der Fehler, den ich bekomme. Könnt ihr mir sagen, wie ich auf die Klasse in c# zugreifen kann?

Mein Zugriff:

public partial class Form1 : Form
{
    // Funktion um das USB Gerät zu initialisieren
    [DllImport("aquaero.dll")]
    extern static bool USBInit();

    // Roh-Daten-String von USB Gerät lesen
    [DllImport("aquaero.dll")]
    extern static string DirectReadFromDevice(int deviceNumber, bool success);

    // Alle angeschlossenen USB Geräte gleichen Typs
    [DllImport("aquaero.dll")]
    extern static Array DeviceArray();

    public Form1()
    {
        InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        // Aquaero initialisieren
        bool success = USBInit();

        // Aquaero finden
        for (int i = 0; i < DeviceArray().Length; i++)
        {
            this.textBox1.Text = DirectReadFromDevice(i, success);
        }
    }
}

Der Fehler:
************** Ausnahmetext **************
System.EntryPointNotFoundException: Der Einstiegspunkt USBInit wurde nicht in der DLL aquaero.dll gefunden.
   bei WindowsApplication1.Form1.USBInit()

Die Klassenstruktur in der DLL:


Wäre super, wenn mir das jemand kurz erklären könnte. Den Webcast aus der msdn zu dem Thema habe ich mir schon angeschaut. Mein Problem konnte ich damit leider nich lösen.

Ciao SunboX
Attachments
Actionscript ist die Möglichkeit, postmaterielles Basteln zum Lebensstil zu machen.

Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.957

beantworten | zitieren | melden

Das Problem ist, das die VB-Dll eine COM-Componente ist, und keine
herkömmliche DLL.

Also einfach als COM-Komponente unter referenzen einbinden und gut.
Ein DllImport ist unnötig.
private Nachricht | Beiträge des Benutzers