2013-04-23 14:00 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/rddads/adsfunc.c
* ADSREGCALLBACK() implemented using AdsRegisterCallbackFunction() instead
of obsolete AdsRegisterProgressCallback(). This enables draw progress
bar for both indexing and SQL query processing.
; implementation unchanged for old ADS versions (<= 6.1)
This commit is contained in:
@@ -10,6 +10,13 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2013-04-23 14:00 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
|
||||
* harbour/contrib/rddads/adsfunc.c
|
||||
* ADSREGCALLBACK() implemented using AdsRegisterCallbackFunction() instead
|
||||
of obsolete AdsRegisterProgressCallback(). This enables draw progress
|
||||
bar for both indexing and SQL query processing.
|
||||
; implementation unchanged for old ADS versions (<= 6.1)
|
||||
|
||||
2013-04-22 22:05 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)
|
||||
* bin/check.hb
|
||||
* bin/commit.hb
|
||||
|
||||
@@ -1430,22 +1430,31 @@ HB_FUNC( ADSCONVERTTABLE )
|
||||
}
|
||||
|
||||
#if ! defined( ADS_LINUX )
|
||||
UNSIGNED32 WINAPI hb_adsShowPercentageCB( UNSIGNED16 usPercentDone )
|
||||
#if ADS_LIB_VERSION >= 620
|
||||
UNSIGNED32 WINAPI hb_adsShowCallback( UNSIGNED16 usPercentDone, UNSIGNED32 ulCallbackID )
|
||||
#else
|
||||
UNSIGNED32 WINAPI hb_adsShowCallback( UNSIGNED16 usPercentDone )
|
||||
#endif
|
||||
{
|
||||
PHB_ITEM pCallBack = hb_ads_getCallBack();
|
||||
|
||||
if( pCallBack )
|
||||
{
|
||||
PHB_ITEM pPercentDone = hb_itemPutNI( NULL, usPercentDone );
|
||||
#if ADS_LIB_VERSION >= 620
|
||||
PHB_ITEM pCallbackID = hb_itemPutNL( NULL, ulCallbackID );
|
||||
HB_BOOL fResult = hb_itemGetL( hb_vmEvalBlockV( pCallBack, 2, pPercentDone, pCallbackID ) );
|
||||
hb_itemRelease( pCallbackID );
|
||||
#else
|
||||
HB_BOOL fResult = hb_itemGetL( hb_vmEvalBlockV( pCallBack, 1, pPercentDone ) );
|
||||
|
||||
#endif
|
||||
hb_itemRelease( pPercentDone );
|
||||
|
||||
return fResult ? 1 : 0;
|
||||
}
|
||||
#if HB_TR_LEVEL >= HB_TR_DEBUG
|
||||
else
|
||||
HB_TRACE( HB_TR_DEBUG, ( "hb_adsShowPercentageCB(%d) called with no codeblock set.", usPercentDone ) );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "hb_adsShowCallback(%d) called with no codeblock set.", usPercentDone ) );
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
@@ -1469,7 +1478,11 @@ HB_FUNC( ADSREGCALLBACK )
|
||||
if( pCallBack )
|
||||
{
|
||||
hb_ads_setCallBack( pCallBack );
|
||||
if( AdsRegisterProgressCallback( hb_adsShowPercentageCB ) == AE_SUCCESS )
|
||||
#if ADS_LIB_VERSION >= 620
|
||||
if( AdsRegisterCallbackFunction( hb_adsShowCallback, hb_parnl( 2 ) ) == AE_SUCCESS )
|
||||
#else
|
||||
if( AdsRegisterProgressCallback( hb_adsShowCallback ) == AE_SUCCESS )
|
||||
#endif
|
||||
fResult = HB_TRUE;
|
||||
else
|
||||
hb_ads_setCallBack( NULL );
|
||||
@@ -1483,7 +1496,11 @@ HB_FUNC( ADSCLRCALLBACK )
|
||||
{
|
||||
#if ! defined( ADS_LINUX )
|
||||
hb_ads_setCallBack( NULL );
|
||||
#if ADS_LIB_VERSION >= 620
|
||||
hb_retnl( AdsClearCallbackFunction() );
|
||||
#else
|
||||
hb_retnl( AdsClearProgressCallback() );
|
||||
#endif
|
||||
#else
|
||||
hb_retnl( 0 );
|
||||
#endif /* ADS_LINUX */
|
||||
|
||||
Reference in New Issue
Block a user