Page 4 of 4

Re: Migrating to Harbour

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: Tue Oct 08, 2013 1:19 pm
by Enrico Maria Giordano
Sorry, I can't be of any help... :-(

EMG

Re: Migrating to Harbour

PostPosted: Thu Oct 24, 2013 3:36 pm
by Enrico Maria Giordano
Any news about OleDefaultArg() in Harbour? :-)

EMG