Announcement

Collapse
No announcement yet.

VB6 Activex exe in VB.NET einbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VB6 Activex exe in VB.NET einbinden

    Hi,

    ich versuche mit VB.NET (VB2008 Express) ein Paar Add-Ons für eine VB6 ERP-Anwendung zu erstellen, ich bin ein erfahrene VB6 Entwickler aber nur Anfänger mit VB.NET (Außerdem Engländer, so bitte habt Verständnis für mein Deutsch).
    Mein Problem ist, dass die Anmeldung und Bereitstellung von sonsitge Daten (Benutzer, Rechte, DB-Connect Info usw.) bei dieser Anwendung über ein VB6 Activex exe (die ich nicht ändern möchte oder soll) erledigt ist. D.h. beim Starten eines Programms wird mit CreateObject das exe instanziert und den Benutzer muss sich anmelden, falls es bereits instanziert war kann die nötige Info. aus dem Instanz gelesen werden.

    Mein Problem ist, dass ich nicht herausbekommen habe wie ich das Axtivex exe in mein VB.NET Projekt einbinden kann.

    Wer kann mir helfen??

    Ich wünsche euch allen einen guten Rutsch.

    Gruß upsibyte

  • #2
    Originally posted by upsibyte View Post
    ich versuche mit VB.NET (VB2008 Express) ein Paar Add-Ons für eine VB6 ERP-Anwendung zu erstellen
    ....
    Mein Problem ist, dass ich nicht herausbekommen habe wie ich das Axtivex exe in mein VB.NET Projekt einbinden kann.
    Also was möchtest du genau :

    - mit .NEt ein Modul für VB 6 schreiben ?

    - oder VB 6 Modul in .NEt anwenden ?

    Im 1. Fall ist das Schlüsselwort "Com-Visible" (.NET erstellt ein Comvisible Modul, das du aus VB6 Anwendung anbinden kannst. Siehe MSDN.)
    Im 2. Fall importiere ActiveX in .NEt und erstelle dort daraus eine .NET DLL.
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      Hi,

      wie gesagt will ich in VB.NET ein bereits erstellte VB6 Activex EXE verwenden bzw. einbinden, aufrufen, instanzieren wie auch immer.
      Es ist Teil einer sehr aufwändigen ERP-Anwendung und wird verwendet für die Anmeldung eines Benutzers und stellt (wie ein Service) für alle andere Programme die Benutzer-, System- und sonstige Information, wie Sprache usw. zur Verfügung, wenn ich es neu erstellen müsste, wird ein Benutzer sich für mein Add-Ons neu anmelden müssen und ich möchte das vermeiden.
      Wenn es nicht so "einfach" wie in VB6 geht, dann muss ich es in Vb.Net importieren b zw. neu schreiben.

      Have a nice day

      Comment


      • #4
        Dann

        1. Dein ActiveX Component auf dem PC registrieren
        2. in VisualStudio.NEt über "Verweis Hinzufügen" - "Com Objekte" - in den .NEt Projekt hinzufügen
        3. Aufrufen

        [highlight=vb]
        Dim myActiveX As MyActiveXComponent.MyClass
        myActiveX = New MyActiveXComponent.MyClass()
        myActiveX.MyFunktion()
        [/highlight]
        Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

        Comment


        • #5
          Hat sich erledigt! Aber vielen dank!

          Hi,

          es hat sich erledigt. Ich habe herausbekommen, dass das Activex exe als "Standalone" und nicht als "Activex Component" kompiliert worden ist. Deswegen kann man es aus Vb.net nicht als Verweis hinzufügen.

          Jetzt muss ich versuchen die Sourcen zu bekommen, na ja muss doch alles selbe schreiben.

          Trotzdem vielen dank.

          Gruß

          Comment


          • #6
            Hi...

            Hallo, ich begrüße euch... bin neu hier...

            Da ich ein ziemlich ähnliches Problem habe, wollte ich keinen neuen Thread eröffnen...

            Das hab ich schon gemacht...
            -----------------------------------------------------------------------
            1. Dein ActiveX Component auf dem PC registrieren
            2. in VisualStudio.NEt über "Verweis Hinzufügen" - "Com Objekte" - in den .NEt Projekt hinzufügen
            3. Aufrufen

            vb Code:
            Dim myActiveX As MyActiveXComponent.MyClass
            myActiveX = New MyActiveXComponent.MyClass()
            myActiveX.MyFunktion()
            -----------------------------------------------------------------------

            Bei der Zeile myActiveX = New MyActiveXComponent.MyClass() kommt der Fehler "MyActiveXComponent.MyClass.Friend Sub New()" ist in diesem Kontext nicht zugreifbar, da es "Friend" ist.

            Hat jemand eine Idee, wie ich den Fehler wegbringe...???

            Vielen Dank im Voraus...

            lg

            Comment

            Working...
            X