* contrib/rddads/rddads.h
! Fixed version autodetection for ACE clients 9.00.0.7.
Now 900 is detected, previously it was 910 (Sybase
retrofitted some macros from 9.10 into this minor update.)
* utils/hbmk2/hbmk2.prg
! Fixed regression causing -o not to work in -hbcmp mode.
(bug introd in the compile/link phase switch)
+ Added support for -o in -hbcmp mode for pocc compilers.
+ Added support for -o in -hbcmp mode for owatcom compilers.
; Please test.
* contrib/rddads/rddads.h
- Deleted some commented lines targeting compatibility with
some now forgotten macros.
* harbour/contrib/rddads/ads1.c
* re-enabled workaround code for wrong character field size returned by
AdsGetFiled() for all ACE versions until we will not have good
confirmation from Extended System that problem is fixed in some
newer client versions.
* include/hbextern.ch
* contrib/xhb/hbcompat.ch
* source/rtl/setkey.c
+ Added HB_SETKEY() which is similar to SETKEY() but contains
3rd parameter extension. Now this functionality is available
for default Harbour builds under this new function name.
+ Added cross mappings for xhb SETKEY().
* source/rtl/setfunc.prg
+ F11/F12 key handling now protected with HB_C52_STRICT instead
of HB_EXTENSION so it will available in default builds.
- Other HB_EXTENSION protected feature deleted (allowing to
assign non-string key sequences to F keys. This effect can
easily be achieved with direct SETKEY() calls, so it wasn't
an essential extension here.
* source/rtl/hbffind.c
+ Internal HB_EXTENSION protected part enabled.
- Deleted HB_EXTENSION dealing with Windows-specific attribute
chars. Those needing this functionality can access it using
C level API.
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
- Deleted minor (non Clipper-compatible) behaviour change
in handling disabled menu items when HB_EXTENSION
is enabled.
; Only remains few class extensions covered by HB_EXTENSION.
Overall there is no reason anymore to use this macro.
TODO: Solve these using inheritance.
* harbour/contrib/rddads/ads1.c
* enable workaround code added in previous commit only for ACE 9.00.
If other ACE clients need it too then please report them.
Fernando reported that 9.10 is fixed.
* harbour/contrib/rddads/ads1.c
! added workaround for ACE bug: character fields longer then 23 bytes are
increased by one byte when read by AdsGetField().
* contrib/hbwin/Makefile
+ contrib/hbwin/legacy.c
+ Added deprecated compatibility wrappers:
MESSAGEBOX(), ANSITOWIDE(), WIDETOANSI(), OLE2TXTERROR().
+ Added deprecated compatibility wrapper TOLEAUTO for HB_OLEAUTO
class. This is probably not enough as there are other remaining
incompatibilities.
; TODO: users needing this please tweak it further.
+ Added deprecated compatibility wrapper hb_oleWideToAnsi(), which
now calls hb_mbtowc(). Not fully compatible for error cases, old
one could return NULL in some cases.
; TODO: Switch to hb_mbntowc().
+ Added deprecated compatibility wrapper hb_oleAnsiToWide(), which
now calls hb_wctomb(). Not fully compatible for error cases, old
one could return NULL in some cases.
; TODO: Switch to hb_wcntomb().
* contrib/hbwin/win_misc.c
+ Added WAPI_MESSAGEBOX()
+ Added WIN_ANSITOWIDE() (rewritten using common API. Please check.)
+ Added WIN_WIDETOANSI() (rewritten using common API. Please check.)
; NOTE: ANSI/WIDE conversions aren't 100% compatible for error
situations and empty strings. Old version could return NIL
in certain situations.
; None of these were tested besides successful compile.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -tshead=<file> option to create a .ch header with
build timestamp information in it: _HBMK_BUILD_DATE,
_HBMK_BUILD_TIME_, HB_BUILD_TIMESTAMP_.
* -opt/-noopt -> -optim/-nooptim to avoid name ambiguity.
+ Added feature to -vcshead= to create a locally rolled
build number if there is no version control system detected.
In this case _HBMK_VCS_TYPE_ will be defined as "hbmk"
and _HBMK_VCS_ID_ will be initialized with a string, starting
with "1" and incremented on each hbmk2 call.
* Internal change to componentize hbmk2 functionality, clearing
away all STATIC vars and some parameter passing hacks.
Work in progress, TODO added.
! Fixed cosmetic bug in debug output when making .po.
* source/rtl/mlcfunc.c
! Fixed warning appeard in latest change.
* source/rtl/trim.c
* source/compiler/hbfunchk.c
- Removed HB_EXTENSION protected second extended parameters
from RTRIM() and ALLTRIM(). If you miss this option, please
report it on the list, we may readd such functionality under
some different name.
INCOMPATIBLE for HB_EXTENSION builds.
* doc/dirstruc.txt
* bin/hb-func.sh
* utils/hbmk2/examples/contribf.hbp
- contrib/hbole
* contrib/Makefile
+ contrib/hbwin/oleinit.c
+ contrib/hbwin/olecore.c
+ contrib/hbwin/hbwinole.h
+ contrib/hbwin/oleauto.prg
+ contrib/hbwin/tests/sample.odt
* contrib/hbwin/tests/testole.prg
- contrib/hbwin/win_tole.prg
- contrib/hbwin/win_ole.c
+ contrib/examples/hboleold
+ contrib/examples/hboleold/tests
+ contrib/examples/hboleold/tests/testole.prg
+ contrib/examples/hboleold/win_tole.prg
+ contrib/examples/hboleold/win_ole.c
+ contrib/examples/hboleold/Makefile
* Replaced old hbwin OLE implementation with
new implementation in hbole. Thanks to
Mindaugas Kavaliauskas for the new implementation.
Those who need the old implementation in the
meantime for any reason, can find it in contrib/example/hboleold.
; TODO: Fill the few missing features (ActiveX/FiveWin
compatibility).
* ChangeLog
* Marked two TODO/TOFIX done.
* harbour-win-spec
* harbour-wce-spec
* bin/hb-func.sh
* doc/dirstruc.txt
* doc/whatsnew.txt
- contrib/hbwinprn
* contrib/Makefile
* contrib/hbwin/Makefile
+ contrib/hbwin/win_prn1.c
+ contrib/hbwin/win_prn2.c
+ contrib/hbwin/win_tprn.prg
+ contrib/hbwin/tests/testprn.prg
* utils/hbmk2/examples/hmg.hbp
* utils/hbmk2/examples/fwh.hbp
* utils/hbmk2/examples/contribf.hbp
! Undone undiscussed (worsened by recent mailing list problems)
changes done in previous two commits.
The direction in Harbour is that we try to gather all
Windows specific functionality into one contrib (hbwin),
if there is a fault or missing feature we fix it at the
proper place (in this case in hbole) instead of splitting
hbwin lib into pieces.
; TOFIX: Refix deleted change history for "moved" files.
; TODO: Move hbole to hbwin and fix missing OLE bits in hbwin.
* ChangeLog
! Fixed duplicated header in one of the entries after prev two commits.
* contrib/xhb/hbcompat.ch
+ Added HB_GETENV() <-> GETENV() conversions.
+ Added MEMOWRIT() translation for xhb sources.
* source/rtl/at.c
* source/rtl/gete.c
* source/rtl/memofile.c
- Deleted HB_EXTENSION branches. Users of extended
GETENV(), GETE(), AT() and MEMOWRIT() functionality
will have to use hbcompat.ch to stay compatible with xhb
(this isn't needed for MEMOWRIT()).
INCOMPATIBLE change for those who enabled HB_EXTENSION
in Harbour. Hopefully xhb will implement HB_AT() and
HB_GETENV() in the future so hbcompat.ch will become
unnecessary.
* include/hbextern.ch
+ source/rtl/radiobhb.prg
* source/rtl/radiobtn.prg
* RADIOBUTTON() Harbour extension moved to a separate file
to cause no harm for programs defining this function locally.
At the same time, HB_EXTENSION protection got removed so
it can be accessed in default builds as a RADIOBUTTO()
alternative.
* doc/cmdline.txt
* doc/howtosvn.txt
+ Added CC copyright.
* source/rtl/alert.prg
* include/hbextern.ch
+ HB_ALERT(). Now this function holds all extended features:
nDelay support and any type for first parameter.
* ALERT() now behaves completely along Clipper version, without
extensions. HB_EXTENSION no longer modifies its behaviour, so
if someone needs these extended features, there is no need to
build with HB_EXTENSION, only ALERT() calls have to be
converted to HB_ALERT(). INCOMPATIBLE (in some scenarios).
* contrib/hbtip/utils.c
% TIP_TIMESTAMP() code cleaned to remove redundancy of
having two full distinct copies of this function. Now
platform independent parts are kept common.
! TIP_TIMESTAMP() fixed hb_parl() to hb_parnl() for 'hours'
parameter. I wonder how this bug wasn't noticed till now.
Please someone test, maybe I'm missing the point of this
parameter, but it's unlikely the intent was a logical value
as it's later converted to timestamp.
* contrib/hbtip/thtml.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcln.prg
* contrib/hbtip/ftpcln.prg
* END -> END*
* Minor formatting.
* contrib/hbtip/base64x.c
* contrib/hbtip/smtpcln.prg
* Formatted.
* Minor optimizations (File() -> hb_FileExists(), ::AuthPlain()
simplification).
% BUILDUSERPASSSTRING() rewritten in Harbour. It's a very
simple function.
* harbour/source/vm/Makefile
* respect HB_HVM_ALL user settings
! export HB_HVM_ALL value set automatically - otherwise it's not seen
when HBVMMT is compiled
* harbour/source/vm/classes.c
* exteneded :classsel() build in method to repsect scope given as
2-nd parameter and return extended information compatible with
:ClassFullSel() implemented in xHarbour by Francesco Saverio Giudice.
This extended info is returned when 3-rd parameter is .T.
* harbour/source/rtl/dateshb.c
* do not generate RTE on wrong params in HB_STOT() function
* harbour/contrib/xhb/xhbfunc.c
+ added hacked function which allows to send messages without respecting
scope. It works only for the most visible data and does not support
any automatic casting.
* harbour/contrib/xhb/dumpvar.prg
! fixed HB_DumpVar() results on platforms where CRLF has different
length then 2
% small improve in hash item presentation
+ added __objGetMsgFullList() and __objGetValueFullList() as static
functions. Code borrowed form xHarbour by Francesco Saverio Giudice.
* make HB_DumpVar() working with object values.
* harbour/contrib/xhb/stream.prg
! disabled call to HB_IsByRef(). Such function does not exist in Harbour
and in current xHarbour it does not work.
* harbour/contrib/xhb/hbserv.c
! removed some peaces of not working old code which used pHVMFuncService.
With some calling convention this code can cause application crash on
exit in xHarbour so it should be fixed there too.
* harbour/contrib/xhb/regexrpl.prg
! use HB_ISREGEX() instead of xHarbour only HB_ISREGEXSTRING()
* harbour/contrib/xhb/xhbfunc.c
+ added xHarbour compatible HB_CREATELEN8() and HB_GETLEN8() functions.
They save/restore 64bit signed integers in/from 8 bytes strings.
In Clipper terminology they can be called: LL2BIN()/BIN2LL().
Original xHarbour version of HB_CREATELEN8() and HB_GETLEN8() were
implemented by Giancarlo Niccolai.
* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgcuig.c
* harbour/contrib/gtwvg/wvgcrt.prg
! Fixed many artifacts. Probbaly it is difficult to jot down all.
* contrib/hbole/tests/testole.prg
+ Readded CDO and OO open examples (working).
* utils/hbmk2/hbmk2.hbm
+ Added .hbl file generation.
* utils/hbmk2/hbmk2.prg
+ Added translator info to banner.
! Minor fix to now display job # if single-threaded compilation is done.
(Thanks for __enumBase() trick to Przemek)
* Some steps to better support xhb shared mode (untested).
+ Added filter support for .prg and .c/.cpp input files.
(This also means that input files with '{' '}' char pairs in them
aren't supported anymore).
! Minor terminology fix in one of the rare error messages.
; TODO: ? Adding GNU Make support to .pot -> .hbl generation, plus
we'd also need to develop a common rule for naming and
placement for these translation files. Current hbmk2 method
cannot be considered final.
+ utils/hbmk2/hbmk2.hu_HU.pot
+ Added Hungarian translation (not complete/final yet).
* harbour/contrib/hbole/oleauto.prg
* harbour/contrib/hbole/olecore.c
* added runtime error on descend FOR EACH ICollection enumeration
* added a few more runtime errors
* fixed reference counter managament if OLE object is used as
parameter for another OLE function call
+ implemented array parameter support
TODO/TOCHECK: multidimentional array support
* harbour/contrib/hbole/tests/testole.prg
* changed test to work with current hbole library
+ added new OppenOffice tests
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/Makefile
! Fixed to use no dir when including qglobal.h. This fixes
darwin compile error.
* utils/hbmk2/hbmk2.prg
! Fixed static lib output extension for rest of compilers (*nix/gcc).
! Fixed 'lib' prefix handling for static lib output names when dir
was present in the name.
* Now -inc files will be put into .hbmk/* dirs.
! Disabled -map option for *nix gcc as it doesn't seem supported
(probably isn't needed on these platforms anyway).
% Cleaned code redundancy in forming output names.
; TOFIX: gcc/darwin complains that -s switch is obsolete and being ignored.
* COPYING
+ Added Creative Commons Attribution-ShareAlike 3.0 Unported (CC-by-sa)
license section. To be used for misc text, documentation and typically
everything which isn't source/program code. Currently these files
(in part or whole) are covered by this license:
INSTALL
ChangeLog
doc/whatsnew.txt
; TODO: If this works out well, IMO we should apply this license to
all non-code parts of our repository. /doc, /man sections
and some files in the root specifically. We can also cover
the homepage content with this license.
* INSTALL
+ Added CC-by-sa license.
* doc/whatsnew.txt
* ChangeLog
+ Added CC-by-sa license. I've covered all my past entries with
this license, besides these, only the new entries will fall
under the license.
* contrib/hbblat/blatwrp.c
! Fixed extern declaration to work in C++ mode.
* source/lang/msgtrwin.c
* source/lang/msgtr857.c
! Typos in comments.
* source/vm/set.c
+ Added copyright for few functions (hb_osEncode()/hb_osDecode()).
* utils/hbmk2/hbmk2.prg
! Fixed RTE in Harbour-only (-gh) mode.
* harbour/ChangeLog
* removed TOVERIFY note - Viktor checked it.
* harbour/contrib/hbct/ctwin.c
! redraw windows after each WCENTER() call
* harbour/contrib/rddads/ads1.c
+ added support for ADS_VARCHAR_FOX and ADS_VARBINARY_FOX fields
in ADS_VFP tables
* harbour/include/dbinfo.ch
* harbour/include/hbrdddbf.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddnsx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
+ added support for VFP tables with VARCHAR and VARBINARY fields
+ added support for VFP tables with NULLABLE fields
+ added new dbFieldInfo() action to check if given field is NULL, f.e.:
? dbFieldInfo( DBS_ISNULL, FieldPos( <cFieldName> ) )
The above modifications were not tested with real VFP files. I do
not have VFP. VFP users should make some real life tests with tables
created by VFP.
* harbour/contrib/rddads/ads1.c
! fixed very bad bug in code compiled for ADS_LIB_VERSION < 600
in ANSI<->OEM translations - the HVM item value was overloaded
with translation results
+ added direct support for ADS_TIME, ADS_TIMESTAMP and ADS_MODTIME
fields and HVM TIMESTAMP values in field get/put operations, seek
and scopes.
Warning! Support for timestamp values in VFP tables is limited
and does not fully respect whole Harbour timestamp arithmetic, f.e.
timestamp values read from index keys are rounded to whole seconds
or setting scopes to data values on timestamp indexes does not work
like in native RDDs or in ADT tables.
TOVERIFY: please check in which ACE version Ads[SG]etMilliseconds()
functions were added and if necessary add
#if ADS_LIB_VERSION >= ???
protection. I do not have older ACE headers and I cannot
make it myself.
To ADS users: please make some real life tests and report problems
if any.
* harbour/contrib/gtqtc/gtqtc.cpp
! Fixed a very important issue of focussing. Now F3 and F4
correctly set the focus to window in question.
The flickering cannot be avoided as QT hides the window
before setting the flags until I come up with another way.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented all BOX characters including B_THIN and B_FAT.
B_THIN protocol respects the aspect ratio means half column
characters are exactly of size column width.
/* Press F9 to view all box types. */
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented destructors. Now opening/closing new windows
release memory properly. There is a small leakage remains yet,
about 40 kb per window, but I am not been able to figure out
what action causes it. May be in future...
! Optimized "Mark & Copy" operation. Now previous buffer is used
instead of creating a new image.
! "Mark & Copy" operation now do not generate INKEY() events.
Important until we find a solution via SysMenu.
/*
So far I did not receive any input from anybody.
Does it mean this project do carry little importance
to be pushed forward ?
*/
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented "Mark & Copy" operation.
Just drag the mouse while left button is pressed.
I could not access SysMenu to initiate this operation
as is implemented in GTWVG but still it is a much needed
feature to have it.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented Box Characters independant of fonts and OS.
At this moment only B_SINGLE.
This feature relies on the DispBox()* functions which
sets the attributes in GT. Final goal should be recognizing
Box characters from the char itself, but it may be trivival to
handle as Harbour must be heading for UNICODE.
Przemek, your attention to this fact is requested.
* harbour/contrib/gtqtc/tests/wvtext.prg
! Tweaked for inkey( 0.1 ). No more GPFs now. Play freely.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.prg
! Code cleanup.
! Adopted KDE's calss variable naming convention.
Class variables now begin with "_" (underscore character).
Please follow this convention strictly.
+ IMPLEMENTED : hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS ).
! Tweaked caret implementation.
! Renamed :consoleArea => :drawingArea. More natural for hbqtxbp.lib.
/* Please try like this:
1.
- Execute wvtext.exe
- Press F10 -> New Window
- Press <ESC> -> Boooooom GPF (inkey(0))
2.
- Execute wvtext.exe
- Press F10 -> New Window
- Click on Main Window
- Click on New Window
- Press <ESC> -> Normal Exit
I am trying to find why to click on Main Window for
closing the New Window. I have not been able to reach any
logical reasoning. Help is requested.
Play : Resize New Window - Browser expands by rows and columns.
*/
* harbour/contrib/hbole/olecore.c
* harbour/contrib/hbole/oleauto.prg
+ implemented FOR EACH enumeration. The code was proposed by
Przemyslaw on mailing list. Some fixes applied.
* INSTALL
* Changed QT examples according to 4.5.1 new default dir layout.
* contrib/gtqtc/tests/demoqtc.prg
! Removed zip dependency.
* contrib/gtqtc/tests/wvtext.prg
! Fixed non-lower case filename.
! Fixed wrong reference to test .ico file.
BTW, is .ico portable? I doubt, so we should probably
switch to .png in context of QT.
! Fixed wrong reference to test.dbf.
* contrib/hbqt/tests/hbqt.hbp
* contrib/gtqtc/tests/gtqtc.hbp
+ Added support for HB_QT_DIR envvar to find QT libs.
This is the same envvar which is needed for Harbour
builds, so you may already have it set up.
; TODO: If this works out well, I'll add the same method
for other contribs too.
* utils/hbmk2/hbmk2.prg
+ libpaths will now be checked for existance before being
added to the list.
* contrib/hbqt/tests/hbqt.hbp
* Minor adjustment to supc++ lib inclusion filter.
- contrib/gtqtc/tests/hbqt.hbp
+ contrib/gtqtc/tests/gtqtc.hbp
- Removed .hbp with wrong name. This file also contained
local, environment dependent QT libpath.
Please don't add such lines to SVN !!
Instead use a local .hbp file which points to the QT path
in your environment:
--- qt_path.hbp
{win}libpaths=C:\devl\Qt\2009.01\qt\lib
--- (don't commit this file, keep it local !)
or, add the same line to your local hbmk.cfg file.
+ Added new .hbp file with multiplatform content.