Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: pReD am 07.04.06 - 09:36:04
-
Hallo zusammen,
Ich habe hier einen Ausweisdrucker von ClearJet und möcht diesen mittels Notes ansprechen.
Habe mir dan von www.vps.de (http://www.vps.de) das sdk geholt und installiert. Das OLE Object erstellen geht ja noch, aber sobald ich eine Funktion aufrufe die auf das Object zugreift, bekomme ich immer einen "Automation object error".
Code:
Dim Cj_CX_one As Variant
Dim sString As String
Dim bRet As Integer
Set Cj_CX_one = CreateObject("IDCardX.IDPrintX.2")
If Not Cj_CX_one Is Nothing Then
sString = "Patrick"
bRet = Cj_CX_one.SetDataField("Name","Patrick")
Call Cj_CX_one.PrintCard()
End If
Den Code habe ich in einem button drin, und will vorerst einfach mal etwas auf eine Ausweiskarte drucken. Aber in der Zeile mit dem SetDataField bekomme ich eben den Automation error. Da ich schon alles mögliche versucht ahbe, wäre ich für eure Hilfe sehr Dankbar!
Gruß Patrick
-
Was sagt denn die Dokumentation des SDKs dazu, wie das Teil programmiert wird?
Axel
-
Nicht viel, da ist n Beispiel für VB und eins für C++ drin. Ds was in meim Code steht ist ein Auszug aus dem VB Beispiel, nur eben bissl abgeändert für Notes. Aber wirklich viel steht da auch nicht drin.
Aufjedenfall bekomm ich sobald ich eine Methode aus dem sdk aufrufe diesen "Automation object error". Was bedeutet der Fehler den genau?
Gruß Patrick
-
Aufjedenfall bekomm ich sobald ich eine Methode aus dem sdk aufrufe diesen "Automation object error". Was bedeutet der Fehler den genau?
So richtig erschöpfend ist die Doku wirklich nicht.
Die Fehlermeldung kann viele Ursachen haben. Da geht von fehlerhafter oder fehlender Registrierung bis zum falschen Aufruf einer Methode.
Es ist schwierig hier was genaues zu sagen.
Axel
-
hm, wie sonst willst du die Methode aufrufen wenn nicht mir Objektname.Methodenname?
Das mit der Registry kann ich mir persönlich aber weniger vorstellen, aber wenn sowas Möglich wäre...
Also im Endeffekt kannst du auch nichts genaueres sagen oder?
Gruß Patrick
-
Also im Endeffekt kannst du auch nichts genaueres sagen oder?
Leider nicht wirklich. :-\
Wie gesagt, das ist so eine schöne allgemeingehaltene Fehlermeldung. die kann viele Ursachen haben.
Aber vielleicht kannst du schrittweise eingrenzen wo's klemmt. Also erstmal auf das Objekt zugreifen und prüfen ob's geht und dann immer ein Stückchen weiter.
Vielleicht bekommst du auch von Herstellersupport weitere Infos.
Axel
-
Da geht von fehlerhafter oder fehlender Registrierung bis zum falschen Aufruf einer Methode.
Axel hat da wohl Recht - die selbe Fehlermeldung habe ich auch bekommen, zwar bei einer anderen Anwendung ("IBM Content Manager"), die nicht richtig auf einigen PCs installiert wurde. Die OLE Registrierung ging da ordentlich in die Hose. Entsprechende Scripts liefen auf 20 PCs fehlerfrei durch, auf anderen 20 halt nicht - mit der von dir besagten Fehlermeldung "OLE object automation error". Vergleichsweise an der selben Stelle des Scriptes... Vielleicht hilft eine erneute "saubere" Installation der Anwendung mit der AdminID des betroffenen Rechners.
-
Also das mit der Registrierung kann ich nun auschließen!
Habe mal in VB ein Objekt von dem Ausweisdrucker erstellt und eine Methode davon aufgerufen.
Und siehe da, es geht. Versuche ich selbes aber im Notes geht es nicht...
Kann Notes vll. nicht mit dem OLE Objekt umgehen oder sowas in der Art?
Gruß Patrick
-
Kann Notes vll. nicht mit dem OLE Objekt umgehen
Das würde ich mal als letztes annehmen.
Versuch's mal so:
bRet = Cj_CX_one.SetDataField(CStr("Name"),CStr("Patrick"))
Ist zwar ziemlich hirnrissig, aber das hat in einigen Fällen bei mir schon wunder gewirkt.
Axel
-
Brauch ich nicht versuchen, weil ncoht nichteinmal die AboutBox Methode geht.
Ich hab mal einfach das Objekt erstellt und dann gleich Cj_CX_one.AboutBox gemacht und auch da kommt der Automation Fehler. Ich kann also gar nciht auf die Methoden von dem Ausweisdrucker zugreifen, daher bringt das mit dem CStr nix :)
Naja ich wende mich mal an den Hersteller, vll. kann der mir helfen, aber trotzdem danke für eure Hilfe
Patrick
-
Nur für die, die es interessiert:
Habs nun folgendermaßen gelöst:
Da ich in VB ja das Object ja erstellen konnte, habe ich nun dort eine ActiveX dll erstellt in der ich die ganzen Funktionen aufgerufen habe.
Danach habe ich die dll einfach in Notes geladen und konnte auf die Funktionen zugreifen^^
Patrick