Hi
I am using vs2005.
I think my c++/mfc app was working fine with the c# dll up until I decided to change the c++/mfc app to be able to compile 64bit. It meant changing a lot of int and UINT to INT_PTR.
Anyway, now, when running the 32 bit edition of my program, I am finding for one of the methods in the DLL, that even though it returns "true" for the bool value, the value returned by the IDL interface method (as a VARIANT_BOOL parameter) is invalid.
eg:
I tried to look at the value of bRes by formatting a string with %d and the value was not -1 or 0. It was some four figure negative value.
So even though the C# method was OK and returned a proper value the return value on many occasions is ending up as incorrect in C++/MFC calling code. So I get errors displayed.
Why might this be happening? I don't know enough about this.
Thank you.
Andrew
I am using vs2005.
I think my c++/mfc app was working fine with the c# dll up until I decided to change the c++/mfc app to be able to compile 64bit. It meant changing a lot of int and UINT to INT_PTR.
Anyway, now, when running the 32 bit edition of my program, I am finding for one of the methods in the DLL, that even though it returns "true" for the bool value, the value returned by the IDL interface method (as a VARIANT_BOOL parameter) is invalid.
eg:
Code:
VARIANT_BOOL bRes;
pInterface->SomeFunction(&bRes)
if(bRes == VARIANT_FALSE)
{
AfxMessageBox("There was an error");
}
So even though the C# method was OK and returned a proper value the return value on many occasions is ending up as incorrect in C++/MFC calling code. So I get errors displayed.
Why might this be happening? I don't know enough about this.
Thank you.
Andrew