I have an MDI application using the block.
I've called starttask() passing the MDI parent form and
I've marked one of my forms to show modal in the config
file. The block falls over with the error -
"Forms that are not top level forms cannot be displayed as
a modal dialog. Remove the form from any parent form
before calling showDialog."
upon inspecting the code it will try to set the forms' MDI
parent then call showdialog() passing the parent form. Is
this a bug?. SDI apps work fine.
> I have an MDI application using the block.
>
[quoted text clipped - 9 lines]
> parent then call showdialog() passing the parent form. Is
> this a bug?. SDI apps work fine.
In my opinion there is a bug in WinFormViewManager class method
ActivateView.
I think that you should try to find the follwoing lines
Form parentForm = (Form)GetProperty( taskId, ParentFormKey );
if( parentForm != null && parentForm.IsMdiContainer ==
true)
winFormView.MdiParent = parentForm;
and replace them with
Form parentForm = (Form)GetProperty( taskId, ParentFormKey );
if( parentForm != null && parentForm.IsMdiContainer ==
true && !viewSettings.IsOpenModal)
winFormView.MdiParent = parentForm;