Hallo zusammen,
der nachstehende Code (in einem Agent zum Testen) ruft über OLE den IBM Content Manager auf, öffnet darin die angegebene Vorgangsliste, daraus das erste Dokument und beendet dann die ganze Session wieder. Soweit funktioniert das auch alles prima!
Abär: Nach dem Aufruf des Agent verbleibt in der Taskleiste eine Instanz des IBM Content Managers (ICMClient.exe), obwohl ich meine, dass am Ende des Scriptes doch ordentlich aufgeräumt wird. Hat jemand 'ne Ahnung, was da nicht stimmt...?!
Danke!
Notes Client: 6.5.1 DE
IBM Content Manager Client: 8.2 - FixPack 7 und FixPack 9
Sub Initialize
. . .
' Data declaration CM
Dim ICMApp
Dim Worklist
Dim Docs
Dim Doc
Dim Item
' Application object
Set ICMApp = CreateObject("ICMClient.Application")
' Login IBM Content Manager
Set db_P = New NotesDatabase( "SERVER/STANDORT1/DE", "cm82\usercfg.nsf" )
Set doc_P = db_P.GetProfileDocument("#Profil", session.UserName)
cm_User = doc_P.cm_User(0)
cm_Password = doc_P.cm_Password(0)
cm_Server = doc_P.cm_Server(0)
ICMApp.User = cm_User
ICMApp.Password = cm_Password
ICMApp.Server = cm_Server
Print "Login: " & cm_User & " | " & cm_Server
ICMApp.Logon
' Item Vorgangsliste
Set Worklist = ICMApp.GetWorklistFromName("Team1")
' Vorgangsliste anzeigen
Set Docs = ICMApp.Documents
Set Doc = Docs.OpenTOC(Worklist, True, 0)
Set Item = Worklist.NextWorklistItem
If (Item.Type = 1) Then
' Dokument
ICMApp.Image.OpenDocument Item ' <== OK, hier hat der CM noch was im Würgegriff, soweit dazu schon mal (Update 13.02.2006 7:00)
Item.Close
Else
' Ordner
Docs.OpenTOC Item
End If
' Sauber putzen und... Ende!
Set Worklist = Nothing
Set Docs = Nothing
Set Doc = Nothing
Set Item = Nothing
ICMApp.Quit ' < Verdammt, steht trotzdem noch eine Instanz im Taskmanager (Prozesse)
Set ICMApp = Nothing
Set db_P = Nothing
Set doc_P = Nothing
End Sub