One of the modifications made to the Address Book template includes a new button which launches a .Net form (compiled as a COM object, the .dll is installed in GAC). The user can make selections on the form and click the Save button (on the .Net form). The .Net form launchs, the functionality of the form works, but the problem is when the user clicks Save on the form, after the form closes, Notes becomes stuck. Control isn’t entirely returned back to Notes at that point. In Notes, the (underlying) contact document is visible, but I cannot click any field or close the contact document by hitting Esc. My only option is to kill Notes processes. This is my code in the Notes agent which calls the COM object (“JonesDay.NotesInteractionCOM.NotesInteraction”):
Option Public
Sub Initialize
On Error GoTo ErrHandle
Dim uiwk As New NotesUIWorkspace
'Dim uidoc As NotesUIDocument
'Set uidoc = uiwk.CurrentDocument
Dim FMLState As String
Const Processing = "Processing"
Const Done = "Done"
'pathName = Environ("appdata")
'pathName = pathName & "\Lotus"
'pathName = "C:\Users\Chris\AppData\Roaming\Lotus\InterAction"
'pathName = "C:\Temp"
'MkDir pathName
On Error Resume Next
Dim MyForm As Variant
Set MyForm = CreateObject("JonesDay.NotesInteractionCOM.NotesInteraction")
FMLState = MyForm.CheckState
MsgBox("check state is " & FMLState)
Dim MyResult As Integer
MyResult = MyForm.launchFMLform
While FMLState=Processing
Sleep 1
Evaluate("@Command( [RefreshWindow] )")
DoEvents
FMLState = MyForm.CheckState
Wend
MsgBox("Out of While loop")
GoTo Quit
ErrHandle:
'Stop
MsgBox("An error occurred in the NotesInteraction2 agent: " & Err &": " & Error(Err) & " at line " & Erl)
Quit:
MsgBox("In Quit")
'Stop
On Error Resume Next
MyForm.Finish
Set MyForm=Nothing
End Sub
Is there some LotusScript that’s required in order to return control back to Notes after the form closes?
Thank you,
Chris