ActiveX



  • Hallo,

    wie kann ich eine in VB erstellte ActiveX-DLL in ein Visual C++-Projekt einbinden und verwenden.

    Danke im voraus
    Elmar.



  • Hallo,
    nach mein Wissen mit "LoadLibrary() wird die Bibliothek feladen
    z.B.
    gMyDLL=LoadLibrary("C:\\Eigene ......"MyDLL.dll");
    obwohl ist ungewöhnlich ein Pfad anzugeben!
    Windows sucht im Ordner \Windows\System\ nach DLL selbst.

    Kommuniziert man über eine globale Variable.

    MfG
    Daniel



  • Projekt->HInzufügen->ActiveX



  • @ReneG: Geht so nicht.

    @Daniel: genau so möchte ich es nicht machen, dann hätte ich auch eine Win-DLL schreiben können



  • Falls es auf einem Dialog eingefügt werden soll, dann rechte Maustaste auf Dialog und ActiveX einfügen!
    Bedingung: das ActiveX muss registriert sein!



  • Es ist ja kein ActiveX-Steuerelement (.ocx), sondern eine DLL.

    Es muss doch irgendwie gehen.
    In VB kann man doch einen Verweis anlegen.



  • Wer soll Dir noch antworten, wenn Du Dir schon selber widersprichst?

    Siehe:
    Eintrag1: 'VB erstellte ActiveX-DLL
    Eintrag2: 'kein ActiveX-Steuerelement (.ocx) sondern eine DLL

    Was denn nun?

    P.S. (.ocx) sind nur umbenannte DLLs !



  • Meiner Meinung gibt es hier schon einen Unterschied.
    Ich habe bei meiner ActiveX-DLL ja auch keine grafische Oberfläche, noch Ereignisse und auch keine .ocx-Datei (Eigenschaften eines ActiveX-Steuerelementes), sondern nur eine .dll und eine .lib.

    Kann es sein, dass es nicht möglich ist diese außerhalb der VB-Entwicklungsumgebung "direkt", d.h. ohne LoadLibrary, GetProcAdress, zu nutzen.

    Falls ich jetzt falsch iegen, lass ich mich gern eiens besseren belehren.

    mfg Murdok



  • Definition siehe M$->COM->Overview of ActiveX

    ActiveX Controls are COM components with “design-time” UI

    D.h. ein ActiveX ohne UI ist ein simples COM-Objekt

    COM-Einbindung siehe Link E-Henkes oder auch viele andere im I-Net
    Stichwort (Befehl): 'CoCreateInstance'



  • Durch langes probieren habe ich es rausgefunden, wie man eine ActiveX-DLL (COM-Objekt) das in VB erstellt wurde in VC++ einbindet.

    Es gibt hierfür im Klassen-Assistenten das Register ActiveX-Ereignisse, dann die .dll-Datei angeben und den Rest macht der Assisent.

    Aber denoch vielen Dank für deine schnellen Antworten, ReneG.


Anmelden zum Antworten