Hi,
When you use "MyXFun -d", the dialog will be opened. But the dialog will not open for XFBase::Evaluate(). In the _before_execute event of the X-Function, the argument int dwCntrl can be used to check whether the dialog is open. However, when using XFBase::Evaluate(), the _before_execute event function is not called. So, you can use the XFBase::Run() method instead. Then in the _before_execute event function, check whether the dialog is opened or not like:
if( LTXF_SHOW_DIALOG & dwCntrl )
out_str("dialog show");
else
out_str("dialog not show");
See the document here.
Penn