Error "E_UNEXPECTED(0x8000FFFF)" when using CDec/CInt/IsNumeric
- by Marc vB
I have encountered a strange problem, which I could solve but don't understand why it did occur.
I have build a DLL with COM enabled. In this DLL I have classes that did use the functions CInt, CDec and IsNumeric. If I test these classes from a .NET application then it works ok. But when I called/run these classes from a Win32 application (with COM) then I did get an "E_UNEXPECTED(0x8000FFFF)" error.
After some debugging I found out that the problem would go away if I:
- replaced IsNumeric with Integer.TryParse or Decimal.TryParse
- replaced CInt with Integer.Parse
- replaced CDec with Decimal.Parse
Can anyone explain this? Again, I could solve it by doing this but I would like to know why.