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
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
Per Script über CreateObject das COM Objekt ansprechen und dann kannst du dessen Methoden und Eigenschaften verwenden
Hallo
Wie binde ich das denn ein oder wie sprech ich es an?
Hab da noch gar keine Erfahrung (Deklaration etc.)
Siehe Designer Hilfe. Da hast du sogar einige Beispiele dabei
Das funktioniert nur mit OLE Objekten. Mit COM Objekten geht das nicht. Leider...
Wer hat dir den diese Falschinformation gegeben ?
Natürlich geht das sowohl mit COM wie auch mit OLE Objekten
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"
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.
Und was genau funktioniert nicht ?
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.
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
Ja, da taucht mein Objekt auf:
Dann könnte es noch daran liegen daß die Initialisierung des COM Objektes auf COM Objekt Seite nicht sauber läuft und der deswegen einen falschen Status zurückgibt