From 32236d01db52674cf0a453db6177f17d36bb7aae Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 15 Jun 2009 11:41:13 +0000 Subject: [PATCH] 2009-06-15 13:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbwin/legacy.prg * contrib/hbwin/legacyco.c ! Added support for legacy TOLEAUTO():hObj var access/assign. ! Fixed CREATEOBJECT() to return legacy TOLEAUTO class. ! Fixed CREATEOBJECT() to accept legacy param list. ! Fixed GETACTIVEOBJECT() to return legacy TOLEAUTO class. ! Fixed GETACTIVEOBJECT() to accept legacy param list. ; Please test. --- harbour/ChangeLog | 10 +++++++++ harbour/contrib/hbwin/legacy.prg | 35 ++++++++++++++++++++++++++++++++ harbour/contrib/hbwin/legacyco.c | 7 ------- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 7e571c3f37..0c418acff5 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-06-15 13:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbwin/legacy.prg + * contrib/hbwin/legacyco.c + ! Added support for legacy TOLEAUTO():hObj var access/assign. + ! Fixed CREATEOBJECT() to return legacy TOLEAUTO class. + ! Fixed CREATEOBJECT() to accept legacy param list. + ! Fixed GETACTIVEOBJECT() to return legacy TOLEAUTO class. + ! Fixed GETACTIVEOBJECT() to accept legacy param list. + ; Please test. + 2009-06-15 11:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * tests/bnch_win.bat * bin/postinst.bat diff --git a/harbour/contrib/hbwin/legacy.prg b/harbour/contrib/hbwin/legacy.prg index 0ee838ef4a..a73b524653 100644 --- a/harbour/contrib/hbwin/legacy.prg +++ b/harbour/contrib/hbwin/legacy.prg @@ -59,6 +59,7 @@ CREATE CLASS TOLEAUTO FROM WIN_OLEAUTO /* TODO: Implement compatibility to the required extent */ METHOD New( xOle, cIID ) + METHOD hObj( xOle ) ENDCLASS METHOD New( xOle, cIID ) CLASS TOLEAUTO @@ -78,6 +79,40 @@ METHOD New( xOle, cIID ) CLASS TOLEAUTO RETURN Self +METHOD hObj( xOle ) CLASS TOLEAUTO + + IF PCount() > 0 .AND. xOle != NIL + IF ISNUMBER( xOle ) + xOle := win_N2P( xOle ) + ENDIF + IF hb_isPointer( xOle ) + ::__hObj := xOle + ENDIF + ENDIF + + RETURN ::__hObj + +FUNCTION CreateObject( xOle, cIID ) + RETURN TOleAuto():New( xOle, cIID ) + +FUNCTION GetActiveObject( xOle, cIID ) + LOCAL o := TOleAuto():New( xOle, cIID ) + + IF ISNUMBER( xOle ) + xOle := win_N2P( xOle ) + ENDIF + + IF hb_isPointer( xOle ) + ::__hObj := xOle + ELSEIF ISCHARACTER( xOle ) + xOle := __OleGetActiveObject( xOle, cIID ) + IF ! Empty( xOle ) + ::__hObj := xOle + ENDIF + ENDIF + + RETURN o + CREATE CLASS Win32Prn FROM WIN_PRN ENDCLASS diff --git a/harbour/contrib/hbwin/legacyco.c b/harbour/contrib/hbwin/legacyco.c index ed98aa6d50..ab05b53233 100644 --- a/harbour/contrib/hbwin/legacyco.c +++ b/harbour/contrib/hbwin/legacyco.c @@ -61,13 +61,6 @@ #include "hbapi.h" -HB_FUNC_EXTERN( WIN_OLECREATEOBJECT ); - -HB_FUNC( CREATEOBJECT ) -{ - HB_FUNC_EXEC( WIN_OLECREATEOBJECT ); -} - HB_FUNC_EXTERN( WIN_OLEGETACTIVEOBJECT ); HB_FUNC( GETACTIVEOBJECT )