* include/hbextern.ch
* source/rtl/mousehb.c
* source/rdd/rddinfo.c
* source/rdd/dbdrop.c
* source/rdd/dbexists.c
* source/rdd/fieldhb.c
* Rest of similar to STOD() status functions also
protected with ! HB_C52_STRICT.
* include/hbextern.ch
* source/rtl/datesx.c
* STOD() function not protected by HB_COMPAT_XPP anymore.
Instead it's turned off only in HB_C52_STRICT mode.
+ contrib/xpp/xppextrn.ch
+ Added.
* contrib/hbwin/win_misc.c
+ Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
But commented because of colliding names.
* contrib/hbblat/blatcls.prg
! Added type checks for all params.
% File() -> hb_FileExists()
* Minor formatting.
* source/rtl/browdbx.prg
* Minor formatting in comment.
* contrib/xpp/Makefile
+ contrib/xpp/dbcmdx.c
+ contrib/xpp/tgetx.prg
+ contrib/xpp/tbcolumx.prg
+ contrib/xpp/dbjoinx.prg
+ contrib/xpp/idlex.c
+ contrib/xpp/typefilx.prg
+ contrib/xpp/philesx.c
+ contrib/xpp/browdbx.prg
+ contrib/xpp/dbdetacx.c
+ contrib/xpp/dblistx.prg
+ contrib/xpp/binnumx.c
+ contrib/xpp/mousex.c
+ contrib/xpp/dbupdatx.prg
+ contrib/xpp/dbfuncsx.prg
+ contrib/xpp/oemansix.c
+ contrib/xpp/tbrowsex.prg
+ contrib/xpp/thfuncx.prg
+ contrib/xpp/dbtotalx.prg
+ contrib/xpp/datesx.c
+ contrib/xpp/tthreadx.prg
+ contrib/xpp/dbstruxx.prg
+ contrib/xpp/dbsortx.prg
+ Made a copy of all Xbase++ related Harbour core components
into this separate lib. As we're starting to have a larger
and larger amount of Xbase++ functions, to not pollute core,
to have a clear separation of components and to allow
toggling Xbase++ compatibility at user level (instead of
Harbour level), it's a good time to make this long planned
first step. This means that now Harbour can be built with
HB_COMPAT_XPP turned off, yet - with this lib - all Xbase++
feature can still be used, and this is the recommended way.
The name of the lib is tentative and in the future it may
even be moved or renamed. 2.0.0 final version will still
have HB_COMPAT_XPP enabled in core.
; NOTE: Please add new Xbase++ compatibility functions to this lib.
; TOFIX: xpp_TBrowse() needs some internal parts from tbrowse.prg,
so current solution isn't finished.
; TOFIX: A few Xbase++ compatibility features are embedded
into core source. These should be resolved by other
means. (f.e. compiler time/runtime/hbmk2 switches, but
for that we need to move back this lib inside core)
; TODO: Decide about the status of STOD() function, which is
currently an XPP compatibility function, not in Harbour
namespace, yet it's widely used with same functionality.
* harbour/source/compiler/hbmain.c
* extended -n2 to work also with code without starup procedure but with
local variables
* harbour/utils/hbrun/hbrun.prg
+ added -n2 to compiler parameters when .prg file is compiled and
executed. It allows to use with hbrun .prg files with and without
startup procedure
* harbour/source/rtl/hbinet.c
! fixed bad typo introduced in last days probably during some code
formatting which broke HB_INETRECVLINE() and some other functions
* utils/hbmk2/hbmk2.prg
+ Added support for rest of embedded compiler installations:
pocc64, poccarm, dos/watcom. Since these share a common
install kit with other targets, they can only be selected
using -comp= switch and in this case they will be used
if the installation is present.
* contrib/hbwin/win_misc.c
+ Added support for embedded Chr(0) to WIN_ANSITOWIDE() and
WIN_WIDETOANSI().
! Fixed WIN_ANSITOWIDE(). Dunno when it worked the last time,
but it must be long ago (SysStringLen() was returning zero).
* contrib/hbwin/Makefile
* contrib/hbwin/win_misc.c
+ contrib/hbwin/wapi_shellapi.c
* Moved and renamed WIN_SHELLEXECUTE() to WAPI_SHELLEXECUTE()
since this implementation is a full wrapper of original
Windows API. Incompatible. Please update your sources.
* contrib/hbwin/legacyco.c
* Formatting.
* harbour/contrib/hbxbp/Makefile
* harbour/contrib/hbxbp/xbp3state.prg
* harbour/contrib/hbxbp/xbpcheckbox.prg
* harbour/contrib/hbxbp/xbpdataref.prg
* harbour/contrib/hbxbp/xbpdialog.prg
* harbour/contrib/hbxbp/xbpgeneric.prg
* harbour/contrib/hbxbp/xbplistbox.prg
* harbour/contrib/hbxbp/xbpmenubar.prg
* harbour/contrib/hbxbp/xbppushbutton.prg
* harbour/contrib/hbxbp/xbpradiobutton.prg
* harbour/contrib/hbxbp/xbpstatusbar.prg
* harbour/contrib/hbxbp/xbptabpage.prg
* harbour/contrib/hbxbp/xbptoolbar.prg
* harbour/contrib/hbxbp/xbpwindow.prg
+ harbour/contrib/hbxbp/xbpscrollbar.prg
+ Added XbpScrollBar() class.
! Rearranged class structure, vastly cleaned, and formatted.
* harbour/contrib/hbxbp/tests/demoxbp.prg
+ Implemented XbpScrollBar()s.
+ Added one more menu option to open same dialog n number of times.
It is still at infant stage as all the event handlers are not in place.
Infact if demoXBP.prg is compiled in MT mode I think it will not
be a issue.
Viktor, can you see why I cannot compile demoXBP.prg in MT mode?
* harbour/contrib/hbqt/hbqt.ch
* harbour/contrib/hbqt/hbqt_slots.cpp
* harbour/contrib/hbqt/hbqt_slots.h
* harbour/contrib/hbqt/moc_slots.cpp
! Greatly improved SIGNAL/SLOT mechanism.
Now SIGNAL to SLOT connection is almost instant no matter how many
widgets the application is employing.
! Implemented to relaase code blocks and reuse vacant slots.
It reduces the memory leakage considerably.
* harbour/contrib/hbqt/tests/demoqt.prg
! Commented out non-available Signal/Slot pair reported by linus distro.
* harbour/contrib/hbwin/axcore.c
! fixed GPF on ActiveX application exit caused by invalid
AtlAxWinTerm() call.
; It's inline function and it does not exists in atl.dll
; MSDN says:
When Do I Need to Call AtlAxWinTerm?
AtlAxWinTerm unregisters the "AtlAxWin7" window class. You should
call this function... If don't call this function, the window class
will be unregistered automatically when the process terminates.
; Thanks Toninho for self contained 3 lines GPF sample without
FWH, gtwvg, etc!
2009-06-16 18:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
+ Added HB_WAEVAL().
* contrib/hbwin/win_prn1.c
- Direct procedural Windows printing interface will now only
accept real pointers.
* WIN_CREATEDC() will now return null pointer instead of NIL.
The safest way to check for success is: 'IF ! Empty( win_CreateDC() )'
; With this, only some DLL related functions remain which
still use numeric pointers.
* include/hbextern.ch
+ Added HB_WAEVAL().
* contrib/hbwin/win_prn1.c
- Direct procedural Windows printing interface will now only
accept real pointers.
* WIN_CREATEDC() will now return null pointer instead of NIL.
The safest way to check for success is: 'IF ! Empty( win_CreateDC() )'
; With this, only some DLL related functions remain which
still use numeric pointers
* harbour/include/hbapirdd.h
* harbour/source/rdd/wafunc.c
+ added HB_ERRCODE hb_rddEvalWA( PHB_ITEM pBlock )
* harbour/source/rdd/dbcmd.c
+ added HB_WAEVAL( <pBlock> ) function which evaluates given
<pBlock> in each used worakrea. The workarea iteration is
interrupted if <pBlock> returns .F.
* harbour/source/rdd/wafunc.c
* restore workarea number in hb_rddCloseAllParentRelations()
* harbour/source/rdd/workarea.c
* added small protection against releasing WA by user codeblock in
EVALBLOCK() method
* harbour/source/rdd/wacore.c
* added small protection against releasing WA by user code during
area iteration
* utils/hbmk2/hbmk2.prg
+ Added preliminary support for autosetup for several more
compilers: win/watcom, win/pocc, win/pocc64, wce/poccarm,
dos/djgpp, dos/watcom.
Only these were tested: dos/djgpp, win/watcom, win/pocc.
This means it's now possible to "bundle" DJGPP, watcom or
pocc _compiler tools_ with Harbour and hbmk2 will be able
to detect them, or user can choose between them using
-arch/-comp switches, then hbmk2 will just be able to use
them "as is", without the need to change anything on the
environment. zero-conf usage in essence, just like we
already had for mingw family.
; NOTE: Before the release I'll rethink placement of these
tools inside the Harbour directory tree. Currently
they are detected in the Harbour root dir, but with
multiple compilers this is not ideal.
* source/vm/thread.c
! Fixed compile error after 2009-06-16 08:55 UTC+0200.
* harbour/contrib/hbct/token1.c
% use explicit constant value instead of HB_MKULONG() macro
* harbour/source/compiler/cmdcheck.c
! fixed few typos in bit manipulation used to calculate result in
PackDateTime() function by rewriting it to use bitfield union.
* harbour/contrib/hbqt/generator/hbqtgen.prg
! Stipped off code to generate in-build sources. Now
following files resides in the SVN permanently:
hbqt.h
hbqt_slots.h
hbqt_slots.cpp
hbqt_base.cpp
moc_slots.cpp
* harbour/contrib/hbqt/hbqt_slots.h
* harbour/contrib/hbqt/moc_slots.cpp
! Cleanups.
* examples/superlib/readme.txt
* examples/dbu/readme.txt
* examples/rl/readme.txt
* Minor typo.
+ Added direct download link to superlib on Phil's site.
I hope Phil doesn't mind. I've also left the link for the
whole page.
* include/hbextern.ch
* source/vm/thread.c
+ Added HB_MUTEXWAITERSCOUNT() to core.
(slightly rewritten using local functions)
- examples/uhttpd2/umutex.c
- No longer needed.
* examples/uhttpd2/uwidgets.prg
* examples/uhttpd2/uhbext.prg
* examples/uhttpd2/app.prg
+ examples/uhttpd2/umutex.c
* Embedded C moved to separate file.
% Using Harbour's hb_HGetDef() instead of local version.
* examples/uhttpd2/socket.c
* Minor updates.
- examples/httpsrv/httpsrv.hbp
* Apparently all uhttpd -> httpsrv renames and changes
were lost, except this file added afterwards.
* utils/hbmk2/hbmk2.prg
- Deleted hb_DirBase() DJGPP hack after Przemek's fix.
- Deleted gcc compiler command line hack after Przemek's fix.
* contrib/hbxbp/xbp.ch
+ Added extra protection for Windows-only debug line.
* contrib/hbxbp/apig.ch
* Minor in comment.
* contrib/rddado/adordd.prg
* Minor formatting.
* Changed it to use non-legacy OLE interface.
PLEASE REVIEW & TEST.
* contrib/hbwin/legacy.prg
+ Added support for TOleAuto():cClassName var.
+ Added RTE generation in case the OLE object cannot be created.
PLEASE REVIEW & TEST.
+ contrib/rddado/tests/test.mdb
+ Added. It's generated by access2.prg to avoid any problems.
* contrib/rddado/tests/access1.prg
* Minor formatting.
; TOFIX: Does't work:
---
Error BASE/3012 Argument error: OPEN
Called from WIN_OLEAUTO:OPEN(0)
Called from ADO_OPEN(0)
Called from DBUSEAREA(0)
Called from MAIN(11)
---
- examples/uhttpd
+ examples/httpsrv
- examples/httpsrv/uhttpd.ini
+ examples/httpsrv/httpsrv.ini
- examples/httpsrv/uhttpdgd.hbp
+ examples/httpsrv/httpsrvg.hbp
- examples/httpsrv/uhttpdc.c
+ examples/httpsrv/httpsrvc.c
- examples/httpsrv/uhttpd.prg
+ examples/httpsrv/httpsrv.prg
* examples/httpsrv/cookie.prg
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/session.prg
* examples/httpsrv/readme.txt
* Renamed uhttpd to httpsrv.
NOTE: If there are better names proposed I can rename
it to anything else. Mindaugas's new uhttpd will
be name uhttpd2 to avoid any ambiguity.
* utils/hbmk2/hbmk2.prg
! Fixed extension-less parameters not recognized as .prg
on dos platform.
(they were picked as libs due to extension match with
empty dynamic lib extension)
Thanks to Przemek for the report.
* utils/hbmk2/hbmk2.prg
+ Added skip=yes|no option support to .hbc files.
skip=yes will cause the rest of the .hbc file to be skipped
from processing.
+ Now .hbc files are recognized even in libs= lines.
+ Showing error message when a referred .hbc cannot be found.
* utils/hbmk2/examples/contribf.hbc
* Updates/fixes.
* contrib/xhb/xhb.hbc
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbblat/hbblat.hbc
* contrib/hbziparc/hbziparc.hbc
* contrib/hbxbp/hbxbp.hbc
* contrib/rddsql/sddmy/sddmy.hbc
+ contrib/rddsql/sddpg/sddpg.hbc
+ contrib/rddsql/sddfb/sddfb.hbc
* contrib/rddsql/sddodbc/sddodbc.hbc
* contrib/rddado/rddado.hbc
* contrib/gtwvg/gtwvg.hbc
* contrib/rddads/rddads.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbwin/hbwin.hbc
* contrib/hbssl/hbssl.hbc
+ Added some missing .hbc files.
* Tweaked to use .hbc references.
* Tweaked filters. .hbc files will now filter themselves out,
if they are references in unsupported environment, like hbwin
under linux.
* harbour/source/vm/mainstd.c
* forced '\' in argv[0] instead of '/' in DJGPP builds
* disabled using SHELL envvar and forced COMSPEC in system() function
in DJGPP builds (it effects __run() and hb_run() .prg functions)