2009-08-20 08:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbwin/legacy.prg
  * contrib/hbwin/legacyco.c
    + Reimplemented numeric pointer support in legacy OLE interface
      with the help of Przemek and Antonio. Please test.
This commit is contained in:
Viktor Szakats
2009-08-20 06:27:45 +00:00
parent 8da389c5b0
commit 1351010ae4
3 changed files with 24 additions and 2 deletions

View File

@@ -17,6 +17,12 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-20 08:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/legacy.prg
* contrib/hbwin/legacyco.c
+ Reimplemented numeric pointer support in legacy OLE interface
with the help of Przemek and Antonio. Please test.
2009-08-20 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
! Fixed to handle spaces in PATH elements.

View File

@@ -73,8 +73,6 @@ STATIC PROCEDURE Throw( oError )
Break( oError )
RETURN
/* NOTE: xOle with numeric pointers isn't supported by this
implementation. */
CREATE CLASS TOLEAUTO FROM WIN_OLEAUTO
/* TODO: Implement compatibility to the required extent */
VAR cClassName
@@ -85,6 +83,9 @@ ENDCLASS
METHOD hObj( xOle ) CLASS TOLEAUTO
IF PCount() > 0 .AND. xOle != NIL
IF ISNUMBER( xOle )
xOle := __OLEPDISP( xOle )
ENDIF
IF hb_isPointer( xOle )
::__hObj := xOle
ENDIF
@@ -96,6 +97,10 @@ METHOD New( xOle, cClass ) CLASS TOLEAUTO
LOCAL hOle
LOCAL oError
IF ISNUMBER( xOle )
xOle := __OLEPDISP( xOle )
ENDIF
IF hb_isPointer( xOle )
::__hObj := xOle
IF ISCHARACTER( cClass )
@@ -135,6 +140,10 @@ FUNCTION GetActiveObject( xOle, cClass )
LOCAL hOle
LOCAL oError
IF ISNUMBER( xOle )
xOle := __OLEPDISP( xOle )
ENDIF
IF hb_isPointer( xOle )
o:__hObj := xOle
IF ISCHARACTER( cClass )

View File

@@ -60,6 +60,7 @@
#define HB_OS_WIN_USED
#include "hbapi.h"
#include "hbwinole.h"
HB_FUNC_EXTERN( WIN_OLEERROR );
@@ -113,3 +114,9 @@ HB_FUNC( MESSAGEBOX )
HB_TCHAR_FREE( lpStr1 );
HB_TCHAR_FREE( lpStr2 );
}
HB_FUNC( __OLEPDISP )
{
hb_oleItemPut( hb_param( -1, HB_IT_ANY ),
( IDispatch * ) ( HB_PTRUINT ) hb_parnint( 1 ) );
}