* utils/hbmk2/hbmk2.prg
+ Added -xhp=<xMate .xhp file> option which will attempt to
read xMate project file and save it as .hbp file.
This is experimental and I'd like to ask xMate users to
update/extend this converter code as I'm not xMate user.
Moreover the only .xhp file sample I have is pretty slim,
limited, so it may easily be possible that some features
are not imported or imported wrongly.
* utils/hbmk2/hbmk2.prg
+ Added -xbp=<xbuild .xbp file> option which will attempt to
read xbuild project file and save it as .hbp file.
This is experimental and I'd like to ask xbuild users to
update/extend this converter code as I'm not xbuild user.
* contrib/hbmisc/spd.c
+ Applied patch to add timestamp support.
Supplied by Xaxi. Thank you.
! Readded DJGPP warning avoiding hack which was
missing from sent file.
* utils/hbmk2/hbmk2.prg
+ Added -hbmake=<hbmake file> option which will attempt to
read hbmake project file and save it as .hbp file.
This is experimental and I'd like to ask hbmake users to
update/extend this converter code as I'm not hbmake user.
This feature is to aid users to migrate from hbmake to hbmk2.
Notice that along the same line converter could be written
for .xbp and xMate project files too.
* src/compiler/Makefile
- src/compiler/gencobj.c
* src/compiler/hbmain.c
* src/compiler/cmdcheck.c
* src/compiler/hbusage.c
* include/hbcompdf.h
* debian/rules
* mpkg_src.sh
* mpkg_tgz.sh
* harbour.spec
- Deleted support for harbour.cfg / compiler -go mode.
This was scheduled to be done after release, but since
hbmk2 seems to be a very solid tool now with visible
acceptance from users, it seems safe to make the move
now. This will mean that one less Harbour file will
"pollute" system locations, which is always a good
thing. Plus this part had a few bugs, which are now
also a thing of the past.
- examples/hbmake
- Deleted hbmake tool. This wasn't really working anyway,
and require -go mode, which was deleted.
Use hbmk2 instead.
* mpkg_src.sh
* mpkg_tgz.sh
! Fixed indentation to be consistent 4 chars.
* INSTALL
* harbour.spec
* mpkg_rpm.sh
* Moved mpkg_rpm*.sh cmdline options description to INSTALL.
At the same time some inconsistencies were fixed and from
now on it should be updated in less copies. Still, there
different option list for win/wce cross-builds and regular
builds. (some of these may not be relevant anymore as Przemek
just deleted some of these option, which is an even better
solution.)
Maybe the same could be done for the rest of them?
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/mpkg_rpm_win.sh
* harbour/mpkg_rpm_wce.sh
* removed all conditional build settings - they are not necessary
for current make system
* harbour.spec
* harbour-win-spec
* harbour-wce-spec
* mpkg_rpm.sh
* mpkg_rpm_win.sh
* mpkg_rpm_wce.sh
* Cleanup/sync of 'with' and 'without' parameters:
--with fbsql -> --with firebird
--without nf -> --without hbnf
--without gtcrs -> --without curses
--without gtsln -> --without slang
! Deleted fmstat/nofmstat options from help texts.
* Internal 'fbird' references changed to 'firebird'.
; Pls test.
; TODO: I'd like to delete '--without hbnf'. If someone knows
why this lib is different than all the others so that
it needs special --without switch, pls speak up.
* mpkg_rpm.sh
* harbour.spec
+ Added hbqt and hbxbp libraries to a new rpm package harbour-qt.
Path submitted by Tomaz Zupan. Thanks.
! Converted tab to space.
* include/hbextern.ch
! HB_SETCODEPAGE() reference also guarded with HB_LEGACY_LEVEL2.
* tests/wcecon.prg
* tests/gtkeys.prg
* examples/terminal/trm_cli.prg
* HB_SETCODEPAGE() -> HB_CDPSELECT().
* contrib/hbwin/win_prn2.c
+ Added comment.
* contrib/hbwin/legacy.prg
+ Guarded with HB_WIN_LEGACY_LEVEL_OFF.
* contrib/hbmysql/mysqlold.c
* contrib/hbodbc/odbcold.c
* contrib/hbwin/legacycd.c
* contrib/hbwin/legacyco.c
* contrib/hbwin/legacycp.c
* contrib/hbwin/legacycv.c
* contrib/hbwin/legacy.prg
+ Guarded with HB_LEGACY_LEVEL3.
This means these will be removed after major release.
Please upgrade your code to use new function names.
* src/rtl/cdpapi.c
* HB_SETCODEPAGE() guarded as HB_LEGACY_LEVEL2 which means
it will be removed in next major version.
NOTE to users: Use HB_CDPSELECT() or SET( _SET_CODEPAGE ) instead.
* src/debug/debugger.prg
- Deleted __XHARBOUR__ protected parts.
* contrib/xhb/xhberr.prg
- Deleted some __XHARBOUR__ protected parts.
Some other remain, most of them dealing with SET()s which
are xhb extension.
It again shows that emulating extended SETs is quite a PITA,
so we should avoid it.
* harbour/contrib/hbtip/popcli.prg
+ added method OpenDigest( cUrl ) based on APOP command
+ added support for RSET command ( method Rset() )
* changed method Close - new lAutoQuit parameter added
By default lAutoQuit == .T. for compatibility
! rewritten method countMail()
I think old version never work correctly and new one
based on STAT command will be faster also
* cosmetic changes
* harbour/src/vm/fm.c
! fixed typo - thanks to Bill for info
* harbour/contrib/hbwin/axcore.c
* minor cleanup
* harbour/contrib/hbwin/olecore.c
+ added support for VT_UNKNOWN variants translated to Harbour
OLE objects (WIN_OLEAUTO) - please test
* contrib/hbwin/win_prn1.c
* Using HB_ types.
* Minor formatting.
* Minor variable scope/usage cleanups.
% Optimized out checking of hb_xgrab() return value. It's never NULL.
* WIN_LOADBITMAPFILE() simplified.
* WIN_LOADBITMAPFILE() changed to use Harbour file I/O instead of
Windows one.
! WIN_LOADBITMAPFILE() fixed to require at least two bytes long file.
* WIN_LOADBITMAPFILE() added file size limit of 32MB. (please feel
free to modify)
* ChangeLog
* TOFIX marked as DONE.
* contrib/hbwin/win_regc.c
* Variable name prefix fixes.
* contrib/hbwin/tests/testprn.prg
! Fixed to not force uppercase on .bmp filename.
* contrib/hbtip/log.prg
* contrib/hbwin/win_osc.c
* Minor formatting.
+ contrib/hbide/hbide.ch
+ Added new header to manage hbide constants, expected to grow fast.
* contrib/hbide/ideactions.prg
+ "New Properties" icons action changed to "Toggle Project Tree".
"Properties" dialog can be accessed via right-clicking on "Projects"
tree-node of "Projects Tree" left-pane window and selecting "Properties"
option.
* contrib/hbide/hbide.prg
+ Started managing HBIDE properties via "hbide.ini".
The order of loading hbide.ini file is :
1. Supplied as first parameter to hbide.exe ( with fully qualified path ), then
2. The start-in folder from where hbide.exe is executed, last
3. The folder where hbide.exe is resident as returned by hb_DirBase().
If hbide.ini is not located as above, new file is created on exit.
Hbide.ini holds the various elements belonging to IDE operations and
is expedted to grow in contents with further development. Right now it may
look-like as:
hbide.ini
=========
[HBIDE]
MainWindowGeometry = 135,36,1099,682,
ProjectTreeVisible = YES
ProjectTreeGeometry = 0,0,88,616,
FunctionListVisible = YES
FunctionListGeometry = 0,20,150,596,
RecentTabIndex = 0
CurrentProject =
[PROJECTS]
[FILES]
C:/harbour/contrib/hbxbp/xbpradiobutton.prg
C:/harbour/contrib/hbxbp/xbprtf.prg
C:/harbour/contrib/hbxbp/xbpstatusbar.prg
.........
Next invocation of ide will retain the location and size of the windows,
files opened, last tab in focus, state of <Project Tree> and <Functions List>
per visibility. There are a lot of notes on my drawing-board to implement.
Just for now please report back your opinions.
* contrib/gtwvg/tests/demowvg.prg
! Removed all hb_ToOutDebug() calls.
* contrib/gtwvg/tests/demoxbp.prg
! Removed all hb_ToOutDebug() calls.
* contrib/hbide/hbide.prg
! Few more artifacts fixed.
* contrib/xhb/Makefile
! Reverted back to original before my last commit.
* harbour/src/vm/garbage.c
% small improvement in HB_GC_AUTO code
* harbour/include/hbdefs.h
! reverted the hack which casted file handles to unsigned values
I added two weeks ago - it was also converting FS_ERROR value
from -1 to 4294967295. Please remember that on some platforms
negative handles can exist and are valid. Only -1 indicates an
error.
* harbour/utils/hbtest/rt_file.prg
+ added regression test for FOPEN() FS_ERROR value
* harbour/contrib/hbwin/legacycd.c
* harbour/contrib/hbwin/legacyco.c
* added missing EOL at EOF
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
* contrib/hbqt/qtgui/QLabel.cpp
* contrib/hbqt/qth/QLabel.qth
+ contrib/hbide/resources/tabcmodified.png
+ contrib/hbide/resources/tabmodified.PNG
+ contrib/hbide/resources/tabreadonly.png
+ contrib/hbide/resources/tabunmodified.png
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
+ Implemented "Find" functionality. CTRL_F or <Find> icon can be clicked.
Input some string in "Find what" field and keep on pressing <Enter>.
+ Implemented "Print with Preview" of current source code.
! Document Tab Image is toggled for "Modified and UnModified" states.
! Fixed some more artifacts.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.ch
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtcore/filelist.mk
+ contrib/hbqt/qtcore/QUiLoader.cpp
+ contrib/hbqt/qtcore/TQUiLoader.prg
+ contrib/hbqt/qth/QUiLoader.qth
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbide/resources/finddialog.ui
+ Implemented some very basic support for "Qt Creator" designer created .ui forms.
+ Based on above implementation hbide now supports "Find" operation. It is set to
search "Harbour" at present and is scheduled to be perfected this week-end.
* harbour/include/hbapi.h
* harbour/include/hbvm.h
* harbour/include/hbvmpub.h
* harbour/include/hbstack.h
* harbour/src/vm/hvm.c
* harbour/src/vm/estack.c
* harbour/src/vm/fm.c
* harbour/src/vm/garbage.c
+ added new function hb_xclean() executed by GC just before resuming
suspended threads - it can be used by memory manager to clean
internal structures and release unused memory to OS.
% release unused memory to OS in hb_xclean() when DLMALLOC is used
% release unused memory in all mspaces to OS in hb_xclean() when
HB_FM_DLMT_ALLOC is used
% release unused memory in mspace when last thread detach it
% balance used mspaces between threads in hb_xclean() when
HB_FM_DLMT_ALLOC is used
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/olecore.c
* added OLE error code as OS code. Changed subsystem from BASE to OLE
; NOTE: function hb_errRT_OLE() is static and defined in both modules.
I'm not sure about the future parameters of the function, so,
I do not want to make it public.
* harbour/contrib/hbwin/legacycd.c
* harbour/contrib/hbwin/legacyco.c
* moved code inside #ifndef HB_WIN_LEGACY_LEVEL_OFF
* harbour/contrib/rddads/ads1.c
* changed field type mapping of HB_FT_* define, ADS_* define,
DBCREATE()/DBSTRUCT() array type member. Now we have mapping
compatible to DBF files as much as possible.
; INCOMPATIBILITIES to old ads1.c:
* ADS_VARCHAR is mapped to HB_FT_VARLENGTH instead of old mapping
to HB_FT_MEMO. HB_FT_MEMO has a fixed size in DBF (ex., 10),
but ADS_VARCHAR is variable length field, so, HB_FT_VARLENGTH
much more correct
* fieldinfo method (DBSTRUCT() at .prg level) returns one byte
field type if possible. The exceptions are RAW, CICHARACTER,
and VARBINARY fields. So, you'll get a DBF compatible type P
instead of IMAGE, B instead of DOUBLE, T instead of TIME, etc.
Other field mappings are extension to existing code and should
not be seen as incompatibility to end used.
; Current field type mappings are:
C; Character,n HB_FT_STRING,n ADS_STRING
N; Numeric,n,d HB_FT_LONG,n,d ADS_NUMERIC
D; Date,n HB_FT_DATE,3 or 4 or 8 ADS_COMPACTDATE; ADS_DATE
ShortDate HB_FT_DATE,3 ADS_COMPACTDATE
L; Logical HB_FT_LOGICAL,1 ADS_LOGICAL
M; Memo,n HB_FT_MEMO,4 or 9 or 8 ADS_MEMO
B; Double,,d HB_FT_DOUBLE,8,d ADS_DOUBLE
I; Integer,n HB_FT_INTEGER, 2 or 4 or 8 ADS_SHORTINT; ADS_INTEGER; ADS_LONGLONG
ShortInt HB_FT_INTEGER,2 ADS_SHORTINT
Longlong HB_FT_INTEGER,8 ADS_LONGLONG
P; Image HB_FT_IMAGE,9 or 10 ADS_IMAGE
W; Binary HB_FT_BLOB,4 or 9 or 10 ADS_BINARY
Y; Money HB_FT_CURRENCY,8,4 ADS_MONEY
Z; CurDouble,,d HB_FT_CURDOUBLE,8,d ADS_CURDOUBLE
T,4; Time HB_FT_TIME,4 ADS_TIME
@; T,8; TimeStamp HB_FT_TIMESTAMP,8 ADS_TIMESTAMP
+; AutoInc HB_FT_AUTOINC,4 ADS_AUTOINC
^; RowVersion HB_FT_ROWVER,8 ADS_ROWVERSION
=; ModTime HB_FT_MODTIME,8 ADS_MODTIME
Raw,n HB_FT_STRING,n (+HB_FF_BINARY) ADS_RAW
Q; VarChar,n HB_FT_VARLENGTH,n ADS_VARCHAR; ADS_VARCHAR_FOX
VarBinary,n HB_FT_VARLENGTH,n (+HB_FF_BINARY) ADS_VARBINARY_FOX; ADS_RAW
CICharacter,n HB_FT_STRING,n ADS_CISTRING
; ADS help has many ambiguities. Here is the most important I found:
* Both ADS_VARCHAR and ADS_VARCHAR_FOX defines exists, but
VarChar filed type is documented only for VFP DBFs. Does
commom DBF support this field type?
* It is not clear what ADS_* define corresponds to VarBinary
field. Both ADS_VARBINARY_FOX and ADS_RAW does not sound
to be a good choice.
* ADS documents field types CharacterNoCPTrans, MemoNoCPTrans,
VarCharNoCPTrans available in VFP tables, but no corresponding
ADS_* defines exist. These type are not supported by RDDDADS.
* Autoincrement field type in DBF is called "Autoinc", in ADT
"Autoicrement". Test shows that both name are acceptedt by
AdsCreateTable().
* ADS_LONGLONG define exists, but LomgLong field type is not
documented at all. It is not clear how to pass field type to
AdsCreateTable(): "Integer,8" or "LongLong". Test required!
* Can extended DBF types like ShortDate and Image be used with
VFP DBF files? (Some other field typess are defined twice
both in extended DBF and VFP DBF)
* Documented field type ShortInteger generates 5012 ADS error on
AdsCreateTable(). A simple workaround used: "ShortInt" passed
instead of documented field name.
! Some ANSI <-> OEM translations moved under ADS_USE_OEM_TRANSLATION
switch (the other translations was already there)
; Please, test and report bugs.
* contrib/hbwin/Makefile
+ contrib/hbwin/legacycv.c
* contrib/hbwin/win_os.prg
* contrib/hbwin/win_osc.c
* contrib/hbwin/win_tprn.prg
+ Added new names for win version support functions:
WIN_OSISNT() <= OS_ISWINNT()
WIN_OSISNT351() <= OS_ISWINNT351()
WIN_OSISNT4() <= OS_ISWINNT4()
WIN_OSIS2000ORUPPER() <= OS_ISWIN2000_OR_LATER()
WIN_OSIS2000() <= OS_ISWIN2000()
WIN_OSISXP() <= OS_ISWINXP()
WIN_OSIS2003() <= OS_ISWIN2003()
WIN_OSISVISTA() <= OS_ISWINVISTA()
WIN_OSIS7() <= OS_ISWIN7()
WIN_OSIS9X() <= OS_ISWIN9X()
WIN_OSIS95() <= OS_ISWIN95()
WIN_OSIS98() <= OS_ISWIN98()
WIN_OSISME() <= OS_ISWINME()
WIN_OSISTSCLIENT() <= OS_ISWTSCLIENT()
WIN_OSVERSIONINFO() <= OS_VERSIONINFO()
WIN_OSNETREGOK() <= OS_NETREGOK()
WIN_OSNETVREDIROK() <= OS_NETVREDIROK()
; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
macro, in case someone would like to disable them.
Please use new names, old names may disappear in the future.
* contrib/hbwin/wce_simc.c
* contrib/hbwin/wce_smsc.c
* contrib/hbwin/wce_sim.prg
+ Added new names for WinCE SMS/SIM support functions:
WCE_SIMINITIALIZE() <= SIMINITIALIZE()
WCE_SIMDEINITIALIZE() <= SIMDEINITIALIZE()
WCE_SIMPHONEBOOKSTATUS() <= SIMPHONEBOOKSTATUS()
WCE_SIMREADPHONEBOOKENTRY() <= SIMREADPHONEBOOKENTRY()
WCE_SIMWRITEPHONEBOOKENTRY() <= SIMWRITEPHONEBOOKENTRY()
WCE_SIMDELETEPHONEBOOKENTRY() <= SIMDELETEPHONEBOOKENTRY()
WCE_SMSSENDMESSAGE() <= SMSSENDMESSAGE()
; INCOMPATIBLE.
; NOTE: With these changes hbwin namespace is clean except
for legacy definitions and .dll functions. DLL functions
need a major overhaul anyway (plus there is Xbase++ and
xhb compatibility concerns there), so for now it's OK.
* contrib/hbide/hbide.prg
+ Started <Project Properties> Dialog.
Your comments are welcome. I am interested what else might be required for
peoject management property so that we are comfortable in future.