.NET dll über COM in Maske einfügen

  • Hallo


    Ich möchte ein Object (ComWrapper.dll) einer .NET Applikation irgendwie in Notes integrieren, damit man über eine NotesMaske danach auf dieses Objekt zugreifen kann.


    Wie bring ich das denn hin?


    Hab noch keinerlei Erfahrung mit COM.


    Gruss

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • Hallo


    Wie binde ich das denn ein oder wie sprech ich es an?


    Hab da noch gar keine Erfahrung (Deklaration etc.)

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • Das funktioniert nur mit OLE Objekten. Mit COM Objekten geht das nicht. Leider...

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • In der Hilfe steht das, dass nur OLE Objekte erstellt werden können.


    (Attachment)



    Wenn ich das COM Objekt einfügen will (Code):


    Dim Ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim Session As New NotesSession
    Set uidoc = ws.CurrentDocument


    ' The application object
    Set App = CreateObject("C:\Programme\Cinimix\XY_DocMA_ComWrapper.dll")


    ..erscheint folgende Fehlermeldung:


    "Cannot create automation object"

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • Dann ist das ein Fehler in der Doku, denn ich erzeuge damit sehr häufig COM Objekte.


    Ein COM Objekt muss allerdings in der Registry registriert werden und mit dem dort registrierten Namen angesprochen werden.
    Eine direkte Angabe der DLL ist dabei nicht möglich.


    Z.B. lautet das COM Objekt für Notes "Domino.NotesSession" und nicht "nnotes.dll"


    Bitte beschäftige dich erst mal mit den Grundlagen zur COM Programmierung unabhängig von Domino, denn dann wüsstest du daß du so kein COm Objekt ansprechen kannst

  • Sorry...hab den Fehler da auch gesehen.


    Habs jetzt mittlerweilen so eingegeben:


    Dim Ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim Session As New NotesSession
    Set uidoc = ws.CurrentDocument



    Set MyApp = CreateObject ( "XY_DOCMA.XYDocHandler")

    Call MyApp.CheckDocumentIn


    Dies ist die Klasse, mit welcher ich auch in Word etc. das Objekt aufrufen kann (bei Makros).


    Dort funktionierts einwandfrei, nur in Domino nicht.

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • Ich gebe die Klasse und die Applikation korrekt an (ist auch so in der Registry drinn)


    Set MyApp = CreateObject( "XY_DOCMA_ComWrapper.XY_DOCMA_COM")

    Call MyApp.CheckDocumentInWithForm("C:\Temp\xxx.txt")


    Doch beim Erstellen des Objekts kommt noch immer der gleiche Fehler:


    Cannot create automation object



    Ich habe den Code in einem Button in einer leeren Form eingebettet.


    Ich weiss nicht mehr, wo ich noch suchen soll.

    ******************************************
    Domino 8.5.0
    Notes 8.5.1


    IBM Certified Application Developer

  • Geh mal wenn du dein Script offen hast links daneben auf den Reiter Reference und dort auf OLE Classes und schau ob und wie dort dein COM Objekt auftaucht.


    Und ja es heisst OLE Classes umfasst aber auch die COM Objekte