Seite 1 von 1

Docuware

Verfasst: Sa, 18. Aug 2012 12:30
von lesny
Ich möchte aus meiner Anwendung auf Docuware-Archive zugreifen. Hat jemand Erfahrungen mit der Schnittstelle zu DocuWare? Ich scheitere schon gleich zu Beginn an der Verbindung mit folgenden Zeilen:

Local oDWControl
oDWControl := XbpActiveXControl():new( oDlg:drawingArea )
oDWControl:CLSID := '{F9043C88-F6F2-101A-A3C9-08002B2F49FB}'
oDWControl:create( oDlg:drawingArea )

Stefan

Re: Docuware

Verfasst: Sa, 18. Aug 2012 13:25
von georg
Hallo, Stefan -


welche Fehlermeldung erhältst Du?


Gruss,

Georg

Re: Docuware

Verfasst: Sa, 18. Aug 2012 14:26
von AUGE_OHR
lesny hat geschrieben:Local oDWControl
oDWControl := XbpActiveXControl():new( oDlg:drawingArea )
oDWControl:CLSID := '{F9043C88-F6F2-101A-A3C9-08002B2F49FB}'
oDWControl:create( oDlg:drawingArea )
dir CLSID ist doch für COMDLG32.OCX, oder ?

Re: Docuware

Verfasst: Sa, 18. Aug 2012 15:27
von lesny
Ich habe inzwischen ein bisschen weiter rumprobiert - hab relativ wenig Erfahrung mit der ActiveX-Schnittstelle und stochere deshalb etwas blindlings ...

@AUGS_OHR: Du hast recht mit der CLSID, der Aufruf war wohl Quatsch.

Ich versuche zum Testen, ein Beispiel aus dem DocuWare SDK für VB6 nachzubilden. Dort gibt es folgendes:
Set TKSession = CreateObject("DW5ToolKit.App")
TKSession.GetActiveArchive (sActiveArchive)

Danach enthält sActiveArchive als Text die Pfadangabe des aktuellen Archivs (wird also wohl per Ref übergeben und in dem Aufruf gefüllt)

Ich habe jetzt versucht, das wie folgt nach Xbase++ zu übertragen:
local sActiveArchive := ""
local oDWControl
oDWControl := CreateObject("DW5ToolKit.App")
oDWControl:GetActiveArchive(sActiveArchive)

Danach ist sActiveArchive bei mir immer noch leer.
Aber wenn ich die Variable per Referenz übergebe, gibt's einen Fehler:
oDWControl:GetActiveArchive(@sActiveArchive)

Re: Docuware

Verfasst: Sa, 18. Aug 2012 20:03
von lesny
Kommando zurück, konnte mein Problem selber lösen.
Der Fehler beim Aufruf per Referenz kam, weil der DocuWare-Server sich verabschiedet hatte. Nach einem Neustart ging's dann.
Musste allerdings meine Variablen noch als public deklarieren.

Wen's interessiert, hier die wesentlichen Zeilen Quellcode, um in DocuWare nach einem Dokument zu suchen:

Code: Alles auswählen

public sActiveArchive
public oDWControl
public oDWArchive

oDWControl := CreateObject("DW5ToolKit.App")       // Objekt erzeugen
oDWControl:GetActiveArchive(@sActiveArchive)       // Aktives Archiv abfragen
oDWControl:GetArchive(sActiveArchive, @oDWArchive) // Objekt für aktives Archiv holen
oDWArchive:SearchDocument(.t., "")                 // DocuWare-Suchmaske starten
Stefan

Re: Docuware

Verfasst: Mi, 22. Aug 2012 12:13
von andreas
Hallo Stefan,

wenn es dich interessiert, kann ich mein altes Code mal durchsuchen. Da habe ich auch schon mal die Archivablage oder auch Abfrage im Docuware gemacht, ist aber schon ein paar Jahre her.

Re: Docuware

Verfasst: Mi, 22. Aug 2012 14:29
von lesny
Hallo Andreas,

danke für das Angebot. Im Moment komme ich klar. Dann brauchst du dir die Mühe nicht machen. Ob die Schnittstelle bei der aktuellen Version 5 noch identisch ist mit damals, ist ja auch nicht sicher. Aber vielleicht komme ich nochmal drauf zurück, wenn ich nicht weiterkomme. Jetzt steht erst mal eine Besprechung mit dem Kunden an, um die Details zu klären, wie er es haben will.

Re: Docuware

Verfasst: Do, 23. Aug 2012 12:03
von andreas
Meine Schnittstelle funktionierte schon mit DW5. Sende einfach eine PN, wenn du Hilfe brauchst.