Page 1 of 2
xHarbour to Harbour
Posted: Fri May 27, 2022 9:06 am
by Natter
Hi,
Dragging my program from xHarbour to Harbour. Please tell me how to rewrite OVERRIDE in the Harbor syntax
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 12:56 pm
by Antonio Linares
Dear Natter,
> Please tell me how to rewrite OVERRIDE in the Harbor syntax
Please post an example of how you use it with xHarbour
thanks
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 1:11 pm
by Natter
Override Method MouseWheel In Class TXBrowse With XBr_MWhl
Override Method Copy In Class TGet With Cpy_
here - METHOD error
................................................................
atail(a_sp[len(a_sp),2]):=aclone(Str_Arr(dim[st,2,zz], chr(166)))
here - () error
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 1:34 pm
by Antonio Linares
This is the function that Harbour provides:
Code: Select all | Expand
FUNCTION __objModMethod( oObject, cSymbol, nFuncPtr )
IF ! HB_ISOBJECT( oObject ) .OR. ! HB_ISSTRING( cSymbol ) .OR. ! HB_ISSYMBOL( nFuncPtr )
__errRT_BASE( EG_ARG, 3101, , ProcName( 0 ) )
ELSEIF __objHasMethod( oObject, cSymbol )
__clsModMsg( oObject:ClassH, cSymbol, nFuncPtr )
ENDIF
RETURN oObject
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 1:50 pm
by Natter
Antonio , thank you ! Excuse me, can I have a concrete example of using this function?
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 4:29 pm
by Antonio Linares
Please try this:
__clsModMsg( TXBrowse():ClassH, "MouseWheel", @XBr_MWhl() )
or
__clsModMsg( oXBrowse:ClassH, "MouseWheel", @XBr_MWhl() )
Re: xHarbour to Harbour
Posted: Fri May 27, 2022 8:06 pm
by carlos vargas
use harbour/contrib/xhb
#include "xhbcls.ch"
to have xharbour compatibility with extended class modification
Re: xHarbour to Harbour
Posted: Sat May 28, 2022 4:03 pm
by Natter
__clsModMsg( oXBrowse:ClassH, "MouseWheel", @XBr_MWhl() )
This option works
I use the function FW_MakeYourBitmap( nTop, nLeft, |hdc, w, h| PaintOverlay(hDC, w, img) }). When compiling under HARBOUR, I get the error of the PaintOverlay() function
Hi, Carlos !
#include "xhb.ch"
#include "xhbcls.ch"
Did I understand correctly that by connecting these 2 files I can not reco
mpile the program for Harbour?
Re: xHarbour to Harbour
Posted: Sat May 28, 2022 8:38 pm
by Antonio Linares
Is the function PaintOverlay() a xHarbour function ?
What library do you link to use it ?
Re: xHarbour to Harbour
Posted: Sat May 28, 2022 9:25 pm
by Natter
FW_MakeYourBitmap( nTop, nLeft, |hdc, w, h| PaintOverlay(hDC, w, h, img) }).
In this case, PaintOverlay() is a static function gluing two images:
static function PaintOvelay(hDC, w, h, img)
..................................................
return NIL
Re: xHarbour to Harbour
Posted: Sat May 28, 2022 11:50 pm
by Antonio Linares
> When compiling under HARBOUR, I get the error of the PaintOverlay() function
What error is it ?
Re: xHarbour to Harbour
Posted: Sun May 29, 2022 6:38 am
by Natter
Turbo Incremental Link 6.70 Copyright (c) 1997-2014 Embarcadero Technologies, Inc.
Error: Unresolved external '_HB_FUN_PAINTOVERLAY' referenced from C:\PRGM\GIS\HRB\GS.OBJ
Error: Unable to perform link
Re: xHarbour to Harbour
Posted: Sun May 29, 2022 10:29 am
by Antonio Linares
Try to remove "static" from here:
static function PaintOvelay(hDC, w, h, img)
Re: xHarbour to Harbour
Posted: Sun May 29, 2022 11:48 am
by Natter
Yes, without "static" it compiles without errors!
Do I need to connect #include "xHb" and #include "xHb" ?
Re: xHarbour to Harbour
Posted: Sun May 29, 2022 8:25 pm
by Antonio Linares
If you directly use __clsModMsg() then I guess you don't need the header file
