Re: newbie VariantCopy returning error message
<shall@uaex.edu> wrote in message
news:1194347831.731370.205390@50g2000hsm.googlegroups.com
I'm trying to return an error message from a VC DLL.
Here's a sippet;
STDMETHODIMP CDD50_Report::Mytest(VARIANT *lcInput,VARIANT *strErrors)
{
char strMsg[1000];
sprintf(strMsg,"My file not found %s",lcInput);
%s format specifier expects char* as a corresponding parameter, not
VARIANT*. Your program will at best crash immediately, at worst corrupt
memory and crash much later in a seemingly unrelated piece of code.
VariantCopy(strErrors,strMsg);
What gave you the idea this could possibly work? VariantCopy is clearly
documented to take two VARIANT* parameters. It won't take a char* no
matter how much you want it to.
I've tried using CComVariant, Changetype, etc
but to no success.
CComVariant(strMsg).Detach(strErrors);
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925