Add wxAutomationInstance_SilentIfNone flag for wxMSW OLE code.
This flag allows to suppress the error message in case there are no currently running instances of this object and can be useful if the caller doesn't know in advance whether it's available or not. Closes #12734. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -178,7 +178,9 @@ Changes in behaviour not resulting in compilation errors, please read this!
|
||||
- wxMSW-specific wxAutomationObject::GetInstance() method now creates a new
|
||||
instance if needed instead of failing if the application providing the
|
||||
requested ProgID is not running. Pass wxAutomationInstance_UseExistingOnly
|
||||
flag to it to revert to the old behaviour.
|
||||
flag to it to revert to the old behaviour. It is also possible to use the
|
||||
wxAutomationInstance_SilentIfNone flag to prevent the error message if no
|
||||
currently running instances of this object are available.
|
||||
|
||||
|
||||
Changes in behaviour which may result in compilation errors
|
||||
|
@@ -33,7 +33,11 @@ enum wxAutomationInstanceFlags
|
||||
wxAutomationInstance_UseExistingOnly = 0,
|
||||
|
||||
// Create a new instance if there are no existing ones.
|
||||
wxAutomationInstance_CreateIfNeeded = 1
|
||||
wxAutomationInstance_CreateIfNeeded = 1,
|
||||
|
||||
// Do not log errors if we failed to get the existing instance because none
|
||||
// is available.
|
||||
wxAutomationInstance_SilentIfNone = 2
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -31,7 +31,15 @@ enum wxAutomationInstanceFlags
|
||||
instance failed, we should call wxAutomationObject::CreateInstance() to
|
||||
create a new one.
|
||||
*/
|
||||
wxAutomationInstance_CreateIfNeeded = 1
|
||||
wxAutomationInstance_CreateIfNeeded = 1,
|
||||
|
||||
/**
|
||||
Do not show an error message if no existing instance is currently
|
||||
running.
|
||||
|
||||
All other errors will still be reported as usual.
|
||||
*/
|
||||
wxAutomationInstance_SilentIfNone = 2
|
||||
};
|
||||
|
||||
|
||||
@@ -134,6 +142,10 @@ public:
|
||||
|
||||
If attaching to an existing object failed and @a flags includes
|
||||
wxAutomationInstance_CreateIfNeeded flag, a new object will be created.
|
||||
Otherwise this function will normally log an error message which may be
|
||||
undesirable if the object may or may not exist. The
|
||||
wxAutomationInstance_SilentIfNone flag can be used to prevent the error
|
||||
from being logged in this case.
|
||||
|
||||
Returns @true if a pointer was successfully retrieved, @false
|
||||
otherwise.
|
||||
|
@@ -545,8 +545,15 @@ bool wxAutomationObject::GetInstance(const wxString& progId, int flags) const
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogSysError(hr,
|
||||
_("Cannot get an active instance of \"%s\""), progId);
|
||||
// Log an error except if we're supposed to fail silently when the
|
||||
// error is that no current instance exists.
|
||||
if ( hr != MK_E_UNAVAILABLE ||
|
||||
!(flags & wxAutomationInstance_SilentIfNone) )
|
||||
{
|
||||
wxLogSysError(hr,
|
||||
_("Cannot get an active instance of \"%s\""),
|
||||
progId);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user