2017-05-12 09:57 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/hbwin/olecore.c
    + added support for VT_VARIANT items to __oleVariantNew()
This commit is contained in:
Przemysław Czerpak
2017-05-12 09:57:22 +02:00
parent e9cb7ffa2f
commit 7b8d91e5cd
2 changed files with 20 additions and 0 deletions

View File

@@ -10,6 +10,10 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2017-05-12 09:57 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
+ added support for VT_VARIANT items to __oleVariantNew()
2017-05-11 18:05 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
* create resizable array instead of fixed size array when empty OLE

View File

@@ -638,6 +638,14 @@ static SAFEARRAY * hb_oleSafeArrayFromItem( PHB_ITEM pItem, VARTYPE vt )
if( pStr == NULL )
ptr = hb_oleItemToString( hb_arrayGetItemPtr( pItem, uiPos ) );
break;
case VT_VARIANT:
if( pStr == NULL )
{
VariantInit( &v );
hb_oleItemToVariant( &v, hb_arrayGetItemPtr( pItem, uiPos ) );
ptr = &v;
}
break;
}
if( ptr != NULL )
@@ -645,6 +653,8 @@ static SAFEARRAY * hb_oleSafeArrayFromItem( PHB_ITEM pItem, VARTYPE vt )
long lIndex[ 1 ];
lIndex[ 0 ] = ( long ) uiPos - 1;
SafeArrayPutElement( pSafeArray, lIndex, ptr );
if( vt == VT_VARIANT )
VariantClear( &v );
}
else
{
@@ -2612,6 +2622,12 @@ HB_FUNC( __OLEVARIANTNEW )
}
break;
case VT_VARIANT:
VariantInit( &variant );
if( pInit != NULL )
hb_oleItemToVariant( &variant, pInit );
break;
default:
if( iType & VT_ARRAY )
{