Page 4 of 4
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 12:22 pm
by Antonio Linares
Enrico,
xHarbour defines such function as:
FUNCTION OleDefaultArg()
RETURN VTWrapper( VT_ERROR, DISP_E_PARAMNOTFOUND )
So I guess that for those missing params, a Variant of type VT_ERROR is required.
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 12:42 pm
by Enrico Maria Giordano
Antonio,
Antonio Linares wrote:Enrico,
Do you just need function OleDefaultArg() ?
Yes!
EMG
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 12:43 pm
by Enrico Maria Giordano
Antonio,
Antonio Linares wrote:Enrico,
xHarbour defines such function as:
FUNCTION OleDefaultArg()
RETURN VTWrapper( VT_ERROR, DISP_E_PARAMNOTFOUND )
So I guess that for those missing params, a Variant of type VT_ERROR is required.
And?
EMG
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 12:58 pm
by Antonio Linares
Enrico,
We already commented this (as far as I remember)
Harbour function void hb_oleItemToVariantRef() actually uses these types:
case HB_IT_STRING:
case HB_IT_MEMO:
case HB_IT_LOGICAL:
case HB_IT_INTEGER:
case HB_IT_LONG:
case HB_IT_DOUBLE:
case HB_IT_DATE:
case HB_IT_TIMESTAMP:
case HB_IT_POINTER:
case HB_IT_ARRAY: /* or OBJECT */
if( HB_IS_OBJECT( pItem ) )
and also there is a default branch:
default:
if( pVarRef )
{
V_VT( pVarRef ) = VT_VARIANT | VT_BYREF;
V_VARIANTREF( pVarRef ) = pVariant;
}
Where to insert it ? I guess we may need to use HB_IT_ARRAY and HB_IS_OBJECT(), as if we do it for all NILs then we will be changing many users code default behavior.
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 1:01 pm
by nageswaragunupudi
We should not change NILs.
When the parameter is an Object then we need to deal with Obj[1] and obj[2]
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 1:15 pm
by Antonio Linares
We should do it the same way the xHarbour does it:
case HB_IT_ARRAY: /* or OBJECT */
if( HB_IS_OBJECT( pItem ) )
Re: Migrating to Harbour
Posted:
Tue Oct 08, 2013 1:19 pm
by Enrico Maria Giordano
Sorry, I can't be of any help...
EMG
Re: Migrating to Harbour
Posted:
Thu Oct 24, 2013 3:36 pm
by Enrico Maria Giordano
Any news about OleDefaultArg() in Harbour?
EMG