Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Does ComReturnError work or not?
Message
 
To
All
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Title:
Does ComReturnError work or not?
Miscellaneous
Thread ID:
01684634
Message ID:
01684634
Views:
61
So, I've got a VFP COM object and there's an initialize method that I put a comreturnerror(_vfp.servername,'hello world') in to test how my C# program catches that exception with this code:

**************************************************************C#
public static dynamic Instance
{
get
{
mvlib = Activator.CreateInstance(Type.GetTypeFromProgID("VMV.MVLIB"));
object[] initialPath = { ConfigurationManager.AppSettings["MyPath"] };
bool initReturn = false;
try
{
initReturn = mvlib.Initialize(initialPath);
}
catch (COMException ce)
{
var msg = ce.Message.ToString();
}
catch (Exception ce)
{
var msg = ce.Message;
}
finally
{
}
more code...................
**************************************************************
I've got two catch's one for COMException and the 2nd for regular Exception. The COMException does not catch the error. The error that is caught has this message:

System.NullReferenceException : Object reference not set to an instance of an object.

Which is not at all helpful and doesn't seem to reflect the message I put in my ComReturnError().

The VFP Help for ComReturnError has this warning:

(For advanced users) COMReturnErrorInfo fills in a COM exception information structure. This is used only for IDispatch (late binding calls). If you call the server via early binding and the client passes a COM exception structure to the server, there is no error mechanism to return the error info unless the client does a QueryInterface on the ISupportsErrorInfo interface.

I saw something in my Google searches that says that C# Dynamic objects like a VFP COM object don't really use late binding, which I think I believe. I am clueless as to how to use C#'s QueryInterface and the ISupportsErrorInfo interface, but understand the concepts. I haven't found any C# samples to copy.

So, does anyone have experience with ComReturnError?
Reply
Map
View

Click here to load this message in the networking platform