Fix more fallout from dispinterface retval patch: make typelib
marshaler use the internal function description so that it calls
dispinterface functions with the correct number of parameters again.
Also fixes some memory leaks caused by the fact that a corresponding
ReleaseXDesc function has to be called for each GetXDesc.
- A name offset of -1 for a parameter means that it has the same name
as the function.
- Print an error if a ReadName is attempted with an offset of -1,
since this will read garbage.
- Implement ITypeInfo_GetDllEntry.
tdescAlias.vt entry.
Added a small handler for TKIND_DISPATCH in SLTG.
ITypeLib_Release can have a NULL pointer as ITypeInfo*.
Split out _copy_arg function for both DispCall and ITypeInfo_fnInvoke,
added some more functionality.
ITypeInfo_fnInvoke can handle VT_USERDEFINED variants.
- VarParseNumFromStr/VarNumFromParseNum handle negative currency
numbers.
- More VarCmp support (Decimals and Dates).
- Date support for VB time only (0.0->1.0), corrected some date
rounding and calculation errors around variant dates and the system
time.
- Variant date support now round trips! (Date->Variant->Date) due to
misuse of tm_mon (0..11 not 1..12).
- Better pre-1899 support for dates in the SYSTEMTIME format.
- VarBstrFromCy, VarCyFromStr implemented.
- VarFormat partial implementation (currency and date support).
- VarFormatFromTokens, VarTokenizeFormatString partial implementation
as per w2k (dates only so far).
- Better debugging when dumping variants, and some additional trace
points to help debugging.
- Fix to VarBstrCmp to handle null and empty string the same (as per
w2k, different to msdn).
- Fix return from VarDateFromUdate.
- Correct definition of CY structure.