hi,
Anand wrote: ↑Mon Oct 21, 2019 9:53 am
I also found hbXbp folder and tried the same thing like you, i.e. using xbp syntax to make a hmg project. But haven't found a proper solution yet.
yes ... there are still a lot of Difference between Xbase++ and Clipper / harbour / GTWVG
when have Clipper Code it is easy to use it with "other" xBase Dialect.
Problem begin with GUI and Windows even all use same Windows API
most i like OOP Style, that's why i like to use GTWVG for my old Xbase++ Code
---
while Syntax of GTWVG is same like Xbase++ all Controls seems to work
but there are other Xbase++ Problem ...
have now try my Xbase++ WMPlayer
C:/hmg.3.4.4/harbour/lib/win/mingw\libhbxbp.a(xbpgra.o):xbpgra.c:(.text+0x20): multiple definition of `HB_FUN_GRASAVESCREEN'
R:/Temp/hbmk_fosqzi.dir/MENUS.o:MENUS.c:(.text+0x1e0): first defined here
ok, i can disable GRASAVESCREEN() in my MENUE.PRG but where ist GRARESTSCREEN
i search in c:\hmg.3.4.4\HARBOUR\lib\win\mingw\libhbxbp.a but not found
more missing Function
hbmk2: Error: Referenced, missing, but unknown function(s): ISTHEMEACTIVE(),
THREADINFO(), VAR2CHAR(), DBSCOPE(), ISMETHOD(), XBPEXCEPTION(), BAND(),
UNUSED(), DBPOSITION(), DBGOPOSITION(), FEXISTS(), CREATEDIR(), BOR(),
BIN2VAR(), VAR2BIN(), SETLOCALE(), ISMEMBERVAR(), GRABACKGROUND(),
RANDOMINT(), GRAGRADIENT(), GETAPPLICATION()
so there is a lot work just for my Xbase++ WMPlayer
- WMP_Darkmode.jpg (364.46 KiB) Viewed 53438 times
---
if there are more User who want to run existing Xbase++ Code under harbour we can try to help each other.
we can make a XB2HMG.CH to put all "missing" like i did in 1st harbour Project from Pritpal Bedi.
Code: Select all
#IFDEF __XPP__
// Xbase++ Code
#ELSE
#xtranslate XbpDialog => WvgDialog
#xtranslate XbpStatusBar => WvgStatusBar
#xtranslate XbpStatic => WvgStatic
#xtranslate XbpActiveXControl => WvgActiveXControl
#xtranslate XbpPushButton => WvgPushButton
#xtranslate XbpComboBox => WvgComboBox
#xtranslate XbpTreeView => WvgTreeView
#xtranslate XbpMenu => WvgMenu
#xtranslate XbpToolBar => WvgToolBar
#xtranslate XbpMenuBar => WvgMenuBar
#xtranslate XbpListbox => WvgListbox
#xtranslate XbpMLE => WvgMLE
#xtranslate XbpProgressBar => WvtProgressBar
#xtranslate GetObject => CreateObject
#xcommand METHOD <!ClassName!>:<MethodName> => METHOD <MethodName> CLASS <ClassName>
#pragma BEGINDUMP
...
#ENDIF
so i just have to #include it in ever *.PRG to make it run under harbour / GTWVG when all work ...
Greetings Jimmy