2008-10-13 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* tests/transtst.prg
* doc/en/string.txt
* doc/en/compiler.txt
* doc/en/macro.txt
* doc/en/browse.txt
* doc/en/binnum.txt
* doc/es/macro.txt
* doc/es/browse.txt
* doc/es/binnum.txt
* doc/transfrm.txt
* doc/whatsnew.txt
* include/hbclass.ch
* include/hbmacro.ch
* include/hbexprb.c
* ChangeLog
* contrib/hbvpdf/hbvpdft.prg
* contrib/hbwhat/import.ch
* source/vm/macro.c
* source/rtl/tobject.prg
* source/rtl/tthreadx.prg
* source/rtl/transfrm.c
* source/rtl/tget.prg
* source/rtl/isprint.c
* source/rtl/tbrowse.prg
* source/rdd/wacore.c
* source/rdd/dbdetach.c
* utils/hbtest/rt_trans.prg
* Xbase++ name references cleaned.
* common.mak
* source/rdd/Makefile
* source/rdd/dbdetach.c
+ source/rdd/dbdetacx.c
* Moved XBase++ compatibility functions to separate file.
This commit is contained in:
@@ -8,6 +8,42 @@
|
||||
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2008-10-13 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* tests/transtst.prg
|
||||
* doc/en/string.txt
|
||||
* doc/en/compiler.txt
|
||||
* doc/en/macro.txt
|
||||
* doc/en/browse.txt
|
||||
* doc/en/binnum.txt
|
||||
* doc/es/macro.txt
|
||||
* doc/es/browse.txt
|
||||
* doc/es/binnum.txt
|
||||
* doc/transfrm.txt
|
||||
* doc/whatsnew.txt
|
||||
* include/hbclass.ch
|
||||
* include/hbmacro.ch
|
||||
* include/hbexprb.c
|
||||
* ChangeLog
|
||||
* contrib/hbvpdf/hbvpdft.prg
|
||||
* contrib/hbwhat/import.ch
|
||||
* source/vm/macro.c
|
||||
* source/rtl/tobject.prg
|
||||
* source/rtl/tthreadx.prg
|
||||
* source/rtl/transfrm.c
|
||||
* source/rtl/tget.prg
|
||||
* source/rtl/isprint.c
|
||||
* source/rtl/tbrowse.prg
|
||||
* source/rdd/wacore.c
|
||||
* source/rdd/dbdetach.c
|
||||
* utils/hbtest/rt_trans.prg
|
||||
* Xbase++ name references cleaned.
|
||||
|
||||
* common.mak
|
||||
* source/rdd/Makefile
|
||||
* source/rdd/dbdetach.c
|
||||
+ source/rdd/dbdetacx.c
|
||||
* Moved XBase++ compatibility functions to separate file.
|
||||
|
||||
2008-10-13 21:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/contrib/hbwin/win_tole.prg
|
||||
! Fixed assignment to oErr:Operation from "+" to "-" in
|
||||
@@ -21,7 +57,7 @@
|
||||
|
||||
2008-10-13 20:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/source/rdd/wacore.c
|
||||
; updated comments about xbase++ behavior in dbRelease()
|
||||
; updated comments about Xbase++ behavior in dbRelease()
|
||||
|
||||
* harbour/include/hbvm.h
|
||||
* harbour/source/vm/hvm.c
|
||||
@@ -505,7 +541,7 @@
|
||||
|
||||
* harbour/source/rtl/tthreadx.prg
|
||||
* use HB_THREAD_INHERIT_PUBLIC as thread attribute for thread
|
||||
started by oThread:start() to emulate xbase++ PUBLIC variables
|
||||
started by oThread:start() to emulate Xbase++ PUBLIC variables
|
||||
behavior
|
||||
|
||||
2008-10-10 00:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
@@ -515,9 +551,9 @@
|
||||
|
||||
* harbour/source/rtl/console.c
|
||||
+ added HB_DISPOUTAT() which works like DISPOUTAT but does not change
|
||||
cursor position. xBase++ users can use
|
||||
cursor position. Xbase++ users can use
|
||||
#xtranslate DispOutAt( <x,...> ) => hb_dispOutAt( <x> )
|
||||
for xBase++ compatible code
|
||||
for Xbase++ compatible code
|
||||
|
||||
2008-10-09 20:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/common.mak
|
||||
@@ -528,13 +564,13 @@
|
||||
+ added ThreadObject() function
|
||||
|
||||
* harbour/source/rtl/tthreadx.prg
|
||||
+ added xBase++ compatible TThread class.
|
||||
+ added Xbase++ compatible TThread class.
|
||||
Special thanks to Pritpal Bedi for class skeleton with info about
|
||||
xbase++.
|
||||
Xbase++.
|
||||
Now only basic functionality is supported though it was enough to
|
||||
compile and execute examples Pritpal sent. I'm leaving rest for
|
||||
xBase++ users.
|
||||
BTW The examples suggest that in xbase++ DispOutAt() does not change
|
||||
Xbase++ users.
|
||||
BTW The examples suggest that in Xbase++ DispOutAt() does not change
|
||||
cursor position. It's not Clipper compatible so I cannot make it
|
||||
in Harbour though I can add new function which will work in such way.
|
||||
|
||||
@@ -551,12 +587,12 @@
|
||||
|
||||
2008-10-09 17:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
+ harbour/source/rtl/thfuncx.prg
|
||||
* added xbase++ compatible functions:
|
||||
* added Xbase++ compatible functions:
|
||||
ThreadID() -> <nThId>
|
||||
ThreadWait( <aThreads>, <nTimeOut> ) -> <oThread> | <pThId> | NIL
|
||||
ThreadWaitAll( <aThreads>, <nTimeOut> ) -> <lAllFinished>
|
||||
In Harbour <aThreads> can be array of thread pointers or thread
|
||||
objects. xbase++ compatible thread class I'll add later.
|
||||
objects. Xbase++ compatible thread class I'll add later.
|
||||
|
||||
2008-10-09 07:30 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
|
||||
- bin/hb_flst.tmp
|
||||
@@ -796,7 +832,7 @@
|
||||
|
||||
* harbour/source/rtl/tthreadx.prg
|
||||
! probably fixed timeout parameter use in signal:wait() method
|
||||
I guess that like other xbase++ functions it's in 1/100th of
|
||||
I guess that like other Xbase++ functions it's in 1/100th of
|
||||
a second
|
||||
|
||||
* harbour/include/hboo.ch
|
||||
@@ -804,7 +840,7 @@
|
||||
* harbour/source/vm/classes.c
|
||||
* harbour/source/rtl/tclass.prg
|
||||
+ added support for SYNC object and CLASS messages working like
|
||||
in xBase++. Please remember that all locked by thread SYNC messages
|
||||
in Xbase++. Please remember that all locked by thread SYNC messages
|
||||
objects and classes are unblocked automatically for the time which
|
||||
thread spends in hb_subscribe[Now]() or signal:wait()
|
||||
|
||||
@@ -1444,7 +1480,7 @@
|
||||
* harbour/common.mak
|
||||
* harbour/source/rtl/Makefile
|
||||
+ harbour/source/rtl/tthreadx.prg
|
||||
+ added xBase++ compatible signal class
|
||||
+ added Xbase++ compatible signal class
|
||||
|
||||
* harbour/source/rdd/wacore.c
|
||||
! added missing alias setting after attaching work area
|
||||
@@ -2113,8 +2149,8 @@
|
||||
and child) to detached workarea are cleared.
|
||||
The second one restores area from the holder and attach it
|
||||
to calling thread.
|
||||
+ added xBase++ compatible functions DbRelease() / DbRequest()
|
||||
xBase++ users please test. If possible please also check what xBase++
|
||||
+ added Xbase++ compatible functions DbRelease() / DbRequest()
|
||||
Xbase++ users please test. If possible please also check what Xbase++
|
||||
does with relations and active RLOCKs/FLOCK on released WA.
|
||||
|
||||
2008-09-19 22:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
@@ -3694,7 +3730,7 @@
|
||||
in practice nearly in user space only.
|
||||
I haven't touched Harbour function calling convention which comes from
|
||||
Clipper. It means that we do not pass pointer to VM to each functions
|
||||
like CLIP or xBase++. To resolve the problem I have to use thread local
|
||||
like CLIP or Xbase++. To resolve the problem I have to use thread local
|
||||
storage (TLS) where such pointer is kept. If platform does not support
|
||||
TLS then it can be emulated by us. Anyhow the speed of accessing TLS
|
||||
data and extracting HB_STACK poitner is critical for performance.
|
||||
@@ -9874,7 +9910,7 @@
|
||||
* contrib/hbw32/dllcall.c
|
||||
! Using hb_parnint()/hb_retnint() instead of hb_parnl()/hb_retnl()
|
||||
to make Harbour level .dll functions compatible with Win64, and
|
||||
at the same time stay compatible with XBase++.
|
||||
at the same time stay compatible with Xbase++.
|
||||
|
||||
* contrib/rddado/adordd.prg
|
||||
! Fixed a few places where _SET_EXACT dependent string
|
||||
@@ -12822,11 +12858,11 @@
|
||||
Now the DLL functions started to work.
|
||||
! Fixed buffer corruption (by 1 byte) when strings were
|
||||
passed by reference.
|
||||
+ Added some XBase++-like support to always pass a copy
|
||||
+ Added some Xbase++-like support to always pass a copy
|
||||
of our string buffers to the called functions. This is
|
||||
safer but slower. The support is probably not complete.
|
||||
Please test.
|
||||
+ Added some XBase++ compatible #defines.
|
||||
+ Added some Xbase++ compatible #defines.
|
||||
+ Added CALLDLLTYPED() function where the return value
|
||||
type can be specified. Untested work in progress,
|
||||
feel free to modify.
|
||||
@@ -12929,7 +12965,7 @@
|
||||
+ Added DLL interface. From xhb. Work of several authors.
|
||||
; I've applied some modifications made by Alex Strickland.
|
||||
; The API calls below are implemented:
|
||||
XBase++ compatible:
|
||||
Xbase++ compatible:
|
||||
- DLLLoad()
|
||||
- DLLUnload()
|
||||
- DLLPrepareCall()
|
||||
@@ -14925,7 +14961,7 @@
|
||||
! Fixed ::unTransform() padding with zero decimals for numerics.
|
||||
This cleared some differences in rto_get.prg.
|
||||
! Fixed ::toDecPos() to not crash with non-numeric vars.
|
||||
- Removed some XBase++ specific code which is not
|
||||
- Removed some Xbase++ specific code which is not
|
||||
needed for Harbour.
|
||||
- Removed some other unnecessary code dealing with '.'/',' swapping.
|
||||
% Minor cleanups.
|
||||
@@ -15238,7 +15274,7 @@
|
||||
2008-05-22 10:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* include/hbextern.ch
|
||||
* source/rdd/dbcmdx.c
|
||||
+ Added dbPack() and dbZap() XBase++
|
||||
+ Added dbPack() and dbZap() Xbase++
|
||||
compatibility functions.
|
||||
|
||||
2008-05-22 10:10 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
|
||||
@@ -16365,7 +16401,7 @@
|
||||
! MaxRow()/MaxCol() extended parameters removed.
|
||||
+ Added MaxRow(.T.)/MaxCol(.T.) conversions for
|
||||
xhb lib (hbcompat.ch) in both directions.
|
||||
; XBase++ doesn't have any extended parameters
|
||||
; Xbase++ doesn't have any extended parameters
|
||||
for Max*() function. Flagship has two of them,
|
||||
both of them doing something different. CAVO doesn't
|
||||
have these functions at all.
|
||||
@@ -16832,10 +16868,10 @@
|
||||
|
||||
* harbour/source/rtl/tbrowse.prg
|
||||
* calculate frozen area size for 5-th element of array returned
|
||||
by xbase++ compatible method :viewArea(). Viktor please check me.
|
||||
by Xbase++ compatible method :viewArea(). Viktor please check me.
|
||||
If you can also describe what exactly TOFIX in :firstScrCol()
|
||||
and :viewArea() means then maybe I can help - I do not have
|
||||
xbase++ so I do not know what should be fixed.
|
||||
Xbase++ so I do not know what should be fixed.
|
||||
|
||||
2008-04-22 15:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/bin/bld_os2.cmd
|
||||
@@ -17017,7 +17053,7 @@
|
||||
one in intentional or unexpected differences to Clipper.
|
||||
It also does not have any extensions which existed in the
|
||||
old code. In the old code there was TODO note about some
|
||||
xBase++ extensions - I do not have xBase++ so I cannot say
|
||||
Xbase++ extensions - I do not have Xbase++ so I cannot say
|
||||
anything about it. If any of you things that they are
|
||||
important then I can add them if group agree but I will
|
||||
need detail description of additional methods and probably
|
||||
@@ -30287,8 +30323,8 @@
|
||||
! ::UnTransform() fixed when not in focus.
|
||||
- ::UnTransform() cBuffer incompatible parameter removed.
|
||||
! ::Reform() probably made more compatible.
|
||||
+ ::PosInBuffer() XBase++ compatible method implemented.
|
||||
(but not tested or compared with XBase++)
|
||||
+ ::PosInBuffer() Xbase++ compatible method implemented.
|
||||
(but not tested or compared with Xbase++)
|
||||
! ::Minus assignment fixed.
|
||||
! ::Clear assignment fixed.
|
||||
! ::Changed assignment fixed.
|
||||
@@ -32848,7 +32884,7 @@
|
||||
as variables, f.e: {|a,b,...|qout(a+b,...)}
|
||||
! fixed error in a[&s]:=100
|
||||
+ added support for a[...] - now ... can be used in the same context as
|
||||
xbase++ like multivalue macro (a[&s])
|
||||
Xbase++ like multivalue macro (a[&s])
|
||||
* disabled ++, --, <op>= optimizations when -kc (strict Clipper
|
||||
compatibility mode) compiler switch is used
|
||||
|
||||
@@ -32869,7 +32905,7 @@
|
||||
as array element(s), f.e.: func f(...); return { "{", ..., "}" }
|
||||
If you think it will be usable then I can also add support for accessing
|
||||
array items with optional parameters, f.e.: ? a[ ... ]
|
||||
so it can be used in the same context as xbase++ like macro lists
|
||||
so it can be used in the same context as Xbase++ like macro lists
|
||||
but for this I will need new PCODE so I'd like to hear your opinion
|
||||
ASAP - I'm closing any extensions today.
|
||||
|
||||
@@ -35448,7 +35484,7 @@
|
||||
please also add support for:
|
||||
<oVar>:&<cMsgName>[(...)]
|
||||
For this we do not need any HVM modifications or new PCODEs.
|
||||
We are supporting xBase++ macro list compilation in:
|
||||
We are supporting Xbase++ macro list compilation in:
|
||||
cList:="1,2,3"
|
||||
x := aVar[ &cList ]
|
||||
aVar:={ &cList }
|
||||
@@ -36410,7 +36446,7 @@
|
||||
* harbour/source/compiler/hbstripl.c
|
||||
* harbour/source/vm/hvm.c
|
||||
* harbour/source/vm/macro.c
|
||||
* changed support for XBASE++ extended syntax in expressions like:
|
||||
* changed support for Xbase++ extended syntax in expressions like:
|
||||
v:="1,2,3"
|
||||
x := a[ &v ]
|
||||
a := { &v }
|
||||
@@ -36719,7 +36755,7 @@
|
||||
! __dbDelim() return value.
|
||||
! __dbSDF() return value.
|
||||
+ CA-Cl*pper undocumented call added: _dtxCondSet()
|
||||
+ XBase++ compatible calls implemented:
|
||||
+ Xbase++ compatible calls implemented:
|
||||
dbJoin(), dbList(), dbSort(), dbTotal(), dbUpdate(), _dbExport()
|
||||
dbCopyStruct(), dbCopyExtStruct()
|
||||
+ Added some more 10 chars call stubs:
|
||||
@@ -36737,13 +36773,13 @@
|
||||
* harbour/source/rdd/dblist.prg
|
||||
- Removed compiler+RTL __dbList() hack which
|
||||
made it incompatible with CA-Cl*pper. The
|
||||
hack targeted an XBase++ extension, but it's
|
||||
hack targeted an Xbase++ extension, but it's
|
||||
compatible even without the hack. Tested with
|
||||
XBase++ 1.82.294.
|
||||
Xbase++ 1.82.294.
|
||||
|
||||
* harbour/source/rtl/typefile.prg
|
||||
% FUNCTION -> PROCEDURE
|
||||
+ _TypeFile() XBase++ internal function added.
|
||||
+ _TypeFile() Xbase++ internal function added.
|
||||
|
||||
2006-07-16 23:26 UTC+0200 Enrico Maria Giordano <e.m.giordano@emagsoftware.it>
|
||||
* source\common\expropt1.c
|
||||
@@ -37145,7 +37181,7 @@
|
||||
|
||||
The above modifications finish stack usage and making our HVM reentrant
|
||||
safe. There is only one thing which have to be fixed yet. It's HVM
|
||||
support for xbase++ syntax in things like:
|
||||
support for Xbase++ syntax in things like:
|
||||
func(&<paramList>), aVal[&<indexList>], {&<itemList>}
|
||||
To fix it we will have to change PCODE generated by compiler and
|
||||
replace some PCODEs used for current code by the new one. I will
|
||||
@@ -53577,7 +53613,7 @@ e.vc
|
||||
2001-10-10 23:50 GMT+1 JFL (mafact) <jfl@mafact.com>
|
||||
* harbour/source/vm/classes.c
|
||||
Fixed hb_clsIsParent for same class as parent ...
|
||||
(xBase++ compatibility)
|
||||
(Xbase++ compatibility)
|
||||
|
||||
2001-10-10 10:07 GMT Dave Pearson <davep@davep.org>
|
||||
* source/rtl/tbrowse.prg
|
||||
@@ -54153,7 +54189,7 @@ e.vc
|
||||
Improved support for PERSISTENT keyword (ACCESS and SETGET)
|
||||
* harbour\source\rtl\tobject.prg
|
||||
added two methods ...
|
||||
(xBase++) ISDERIVEDFROM
|
||||
(Xbase++) ISDERIVEDFROM
|
||||
(Class(y)) ISKINDOF
|
||||
|
||||
2001-09-04 16:06 GMT+1 Antonio Linares <alinares@fivetech.com>
|
||||
@@ -72164,7 +72200,7 @@ NOTE:
|
||||
source/rtl/Makefile
|
||||
makefile.bc
|
||||
makefile.vc
|
||||
+ XBase++ functions separated.
|
||||
+ Xbase++ functions separated.
|
||||
|
||||
* include/hbextern.ch
|
||||
+ utils/hbrun/exttools.prg
|
||||
@@ -72372,7 +72408,7 @@ NOTE:
|
||||
source/rtl/Makefile
|
||||
makefile.bc
|
||||
makefile.vc
|
||||
+ Separated functions for XBase++ and CA-Cl*pper 5.3
|
||||
+ Separated functions for Xbase++ and CA-Cl*pper 5.3
|
||||
|
||||
- source/tools/datesx.c
|
||||
* source/tools/dates2.c
|
||||
@@ -78441,7 +78477,7 @@ Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
|
||||
19991025-19:09 GMT+1 Viktor Szakats <info@szelvesz.hu>
|
||||
* source/rtl/filesys.c
|
||||
+ CURDRIVE() XBase++ compatible function added, between HB_COMPAT_XPP
|
||||
+ CURDRIVE() Xbase++ compatible function added, between HB_COMPAT_XPP
|
||||
guards, it also has a TODO:
|
||||
! hb_fsCurDrv() fixed to convert the return value of the OS calls to
|
||||
the Clipper standard.
|
||||
@@ -78455,15 +78491,15 @@ Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
hb_fsIsDevice()
|
||||
All these fixed, so that now they work with WIN32/MINGW32.
|
||||
* source/rtl/mouseapi.c
|
||||
+ SETMOUSE() and NUMBUTTONS() XBase++ compatible functions added,
|
||||
+ SETMOUSE() and NUMBUTTONS() Xbase++ compatible functions added,
|
||||
between HB_COMPAT_XPP
|
||||
+ source/rtl/oemansi.c
|
||||
source/rtl/Makefile
|
||||
config/w32/mingw32.cf
|
||||
+ HB_ANSITOOEM() new Win32 related function added (Harbour extension)
|
||||
+ HB_OEMTOANSI() new Win32 related function added (Harbour extension)
|
||||
+ CONVTOOEMCP() XBase++ compatible function added (between HB_COMPAT_XPP)
|
||||
+ CONVTOANSICP() XBase++ compatible function added (between HB_COMPAT_XPP)
|
||||
+ CONVTOOEMCP() Xbase++ compatible function added (between HB_COMPAT_XPP)
|
||||
+ CONVTOANSICP() Xbase++ compatible function added (between HB_COMPAT_XPP)
|
||||
; IMPORTANT NOTE: This may cause problems in other platform, since USER32
|
||||
should be linked in. (WIN32/MINGW32 platform arranged)
|
||||
* source/rdd/dbf1.c
|
||||
@@ -78654,12 +78690,12 @@ Mon Oct 25 13:14:42 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
! hb_arrayCopy()/ACOPY() is now 100% Clipper compatible, the STRICT option
|
||||
removed, it's always strict now.
|
||||
* source/rtl/binnum.c
|
||||
+ BIN2U(), U2BIN(), W2BIN() XBase++ compatible functions added. All
|
||||
+ BIN2U(), U2BIN(), W2BIN() Xbase++ compatible functions added. All
|
||||
guarded with HB_COMPAT_XPP (defined by default) (not tested)
|
||||
* source/rtl/dates.c
|
||||
include/hbextern.ch
|
||||
source/runner/stdalone/external.prg
|
||||
+ STOD() put between HB_COMPAT_XPP guards, since it belongs to XBase++
|
||||
+ STOD() put between HB_COMPAT_XPP guards, since it belongs to Xbase++
|
||||
and is not part of base Clipper.
|
||||
+ HB_STOD() Harbour extension function added, same as STOD() but with
|
||||
consistent naming.
|
||||
@@ -79080,7 +79116,7 @@ Wed Oct 20 19:28:51 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
* source/rtl/browdb.prg
|
||||
+ dbSkipper() function added, it's now guarded with
|
||||
HARBOUR_COMPAT_XPP, so there is a possibility to switch to the
|
||||
fully Clipper compliant, or the XBase++ compliant method.
|
||||
fully Clipper compliant, or the Xbase++ compliant method.
|
||||
+ NOTE added about dbSkipper.
|
||||
* source/rtl/filesys.c
|
||||
+ source/rtl/binnum.c (added)
|
||||
@@ -81804,7 +81840,7 @@ NOTE: You have to recompile all PRG sources!
|
||||
source/rdd/dbcmd.c
|
||||
* Changed WORD to USHORT in all Error handling stuff.
|
||||
* tests/working/rtl_test.prg
|
||||
* Version() -> Version( 0 ) (xBase++ likes the numeric value better here,
|
||||
* Version() -> Version( 0 ) (Xbase++ likes the numeric value better here,
|
||||
but I could not test it)
|
||||
|
||||
19990917-03:15 GMT+1 Viktor Szakats <info@szelvesz.hu>
|
||||
@@ -87353,9 +87389,9 @@ Wed Aug 04 10:12:24 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
(Please update other makefiles accordingly)
|
||||
* include/box.ch
|
||||
include/box.h
|
||||
+ XBase++ compatible B_THIN, B_FAT border types added.
|
||||
+ Xbase++ compatible B_THIN, B_FAT border types added.
|
||||
* include/memoedit.ch
|
||||
+ Some XBase++ extensions added.
|
||||
+ Some Xbase++ extensions added.
|
||||
|
||||
19990803-16:50 GMT+1 Viktor Szakats <info@szelvesz.hu>
|
||||
* config/win32/gcc.cf
|
||||
@@ -90303,7 +90339,7 @@ Tue Jul 13 13:44:04 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
added support for ppo #line token
|
||||
Described line bug was mine. Fixed!
|
||||
+ source/compiler/harbour.y
|
||||
added support for ppo #line syntax (including XBase++ style)
|
||||
added support for ppo #line syntax (including Xbase++ style)
|
||||
|
||||
19990709-16:25 Eddie Runia
|
||||
* build32.bat; source/runner/runner.c; source/runner/run_exp.h;
|
||||
|
||||
@@ -890,6 +890,7 @@ RDD_LIB_OBJS = \
|
||||
$(OBJ_DIR)\dbcmdhb$(OBJEXT) \
|
||||
$(OBJ_DIR)\dbcmdx$(OBJEXT) \
|
||||
$(OBJ_DIR)\dbdetach$(OBJEXT) \
|
||||
$(OBJ_DIR)\dbdetacx$(OBJEXT) \
|
||||
$(OBJ_DIR)\dbdrop$(OBJEXT) \
|
||||
$(OBJ_DIR)\dbexists$(OBJEXT) \
|
||||
$(OBJ_DIR)\fieldhb$(OBJEXT) \
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "hbclass.ch"
|
||||
#endif
|
||||
|
||||
#ifdef __XPP__ // xBase++
|
||||
#ifdef __XPP__ // Xbase++
|
||||
#command CREATE CLASS <x> [ FROM <y> ] => CLASS <x> [ FROM <y> ]
|
||||
#command MESSAGE <x> METHOD <y> => METHOD <x> IS <y>
|
||||
#command CLASS MESSAGE <x> METHOD <y> => CLASS METHOD <x> IS <y>
|
||||
|
||||
@@ -147,7 +147,7 @@ linking the VMGUI library code into it.
|
||||
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
// xBase syntax
|
||||
// Xbase++ syntax
|
||||
// based on Vic McClung's code
|
||||
// Thank you Vic
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2U() is an XBase++ compatibility function and does not exist
|
||||
* BIN2U() is an Xbase++ compatibility function and does not exist
|
||||
* as a standard CA-Cl*pper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
@@ -341,7 +341,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* W2BIN() is an XBase++ compatibility function and does not exist
|
||||
* W2BIN() is an Xbase++ compatibility function and does not exist
|
||||
* as a standard CA-Cl*pper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
@@ -422,7 +422,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* U2BIN() is an XBase++ compatibility function and does not exist
|
||||
* U2BIN() is an Xbase++ compatibility function and does not exist
|
||||
* as a standard CA-Cl*pper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* dbSkipper() is an XBase++ compatibility function and does not exist
|
||||
* dbSkipper() is an Xbase++ compatibility function and does not exist
|
||||
* as a standard CA-Cl*pper 5.x function.
|
||||
|
||||
* This function is only visible if source/rtl/browdb.prg was compiled
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
*
|
||||
* /ks enable support for strings as array of bytes (default)
|
||||
*
|
||||
* /kx other xbase dialects extensions (default)
|
||||
* /kx other Xbase++ dialects extensions (default)
|
||||
*
|
||||
* /kJ disable optimalization of jump and noop pcodes
|
||||
*
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
* <b>HB_SM_HARBOUR</b> - enables harbour extensions:
|
||||
* operators: ++, --, +=, -=, *=, /=, ^=
|
||||
* objects: assigments to an instance variable
|
||||
* <b>HB_SM_XBASE</b> - enables other xbase dialects extensions:
|
||||
* <b>HB_SM_XBASE</b> - enables other Xbase++ dialects extensions:
|
||||
* expanding of expresions lists
|
||||
* <b>HB_SM_SHORTCUTS</b> - enables optimized evaluation of
|
||||
* logical operators (.and., .or.)
|
||||
|
||||
@@ -1450,7 +1450,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* The @L function template is a FOXPRO/Xbase Extension
|
||||
* The @L function template is a FoxPro/Xbase++ Extension
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2U() es una funci¢n de compatibilidad con XBase++ y no existe como
|
||||
* BIN2U() es una funci¢n de compatibilidad con Xbase++ y no existe como
|
||||
* una funci¢n est ndar en CA-Cl*pper 5.x
|
||||
* Esta funci¢n es solamente visible si el archivo source/rtl/binnum.c
|
||||
* fue compilado con la bandera HB_COMPAT_XPP.
|
||||
@@ -363,7 +363,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* W2BIN() es una funci¢n de compatibilidad con XBase++ y no existe como
|
||||
* W2BIN() es una funci¢n de compatibilidad con Xbase++ y no existe como
|
||||
* una funci¢n estandar en CA-Cl*pper 5.x
|
||||
* Esta funci¢n es solamente visible si el archivo source/rtl/binnum.c
|
||||
* fue compilado con la bandera HB_COMPAT_XPP.
|
||||
@@ -446,7 +446,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* U2BIN() es una funci¢n de compatibilidad con XBase++ y no existe como
|
||||
* U2BIN() es una funci¢n de compatibilidad con Xbase++ y no existe como
|
||||
* una funci¢n est ndar en CA-Cl*pper 5.x
|
||||
* Esta funci¢n es solamente visible si el archivo source/rtl/binnum.c
|
||||
* fue compilado con la bandera HB_COMPAT_XPP.
|
||||
|
||||
@@ -386,7 +386,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* dbSkipper() es una funci¢n de compatibilidad con XBase++ y no existe
|
||||
* dbSkipper() es una funci¢n de compatibilidad con Xbase++ y no existe
|
||||
* como una funci¢n est ndar en CA-Cl*pper 5.x
|
||||
* Esta funci¢n es solamente visible si el archivo:
|
||||
* ../source/rtl/browdb.prg fue compilado con la bandera HB_COMPAT_XPP.
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
* operadores: ++, --, +=, -=, *=, /=, ^=
|
||||
* objetos: asignaciones a una variable de instancia
|
||||
*
|
||||
* <b>HB_SM_XBASE</b> - Habilita extensiones de otros dialectos xbase:
|
||||
* <b>HB_SM_XBASE</b> - Habilita extensiones de otros dialectos Xbase++:
|
||||
* Expansi¢n de listas de expresiones
|
||||
*
|
||||
* <b>HB_SM_SHORTCUTS</b> - Habilita la evaluaci¢n optimizada de los
|
||||
|
||||
@@ -30,7 +30,7 @@ $ Pad left with $
|
||||
* Pad left with *
|
||||
, Comma (Real pathetic. Just like Clipper)
|
||||
|
||||
The following bugs have been fixed : (Just like xBase++ did !)
|
||||
The following bugs have been fixed : (Just like Xbase++ did !)
|
||||
@( Does not give incorrect results when it should overflow
|
||||
@D Ignored. So it should be !
|
||||
|
||||
|
||||
@@ -733,7 +733,7 @@ The compiler
|
||||
syntax:
|
||||
-------
|
||||
- Added support for variable number of parameters functions.
|
||||
- reimplemented xbase++ multi-value macro support.
|
||||
- reimplemented Xbase++ multi-value macro support.
|
||||
- Added support for WITH OBJECT.
|
||||
- Changed HB_INLINE() syntax.
|
||||
- Added support for macro compiled messages.
|
||||
@@ -1186,8 +1186,8 @@ The compiler
|
||||
and in harbour's runtime modules)
|
||||
- Added a new compiler switch -kJ to disable jump optimalization and
|
||||
NOOP pcode removal (optimalization is enabled by default).
|
||||
- When xbase mode is not used (-kc or -kch) then compiler doesn't
|
||||
generate the pcode for these xbase extended features.
|
||||
- When Xbase++ mode is not used (-kc or -kch) then compiler doesn't
|
||||
generate the pcode for these Xbase++ extended features.
|
||||
- Added support for DO <proc> WITH @variable
|
||||
- Fixed optimalization of literal strings that contain macro operator.
|
||||
- Enabled support for break[].
|
||||
|
||||
@@ -568,7 +568,7 @@ DECLARE HBClass ;
|
||||
|
||||
#endif /* HB_CLS_VO */
|
||||
|
||||
/* xBase++ syntax */
|
||||
/* Xbase++ syntax */
|
||||
#ifdef HB_CLS_XPP
|
||||
|
||||
#xcommand SYNC METHOD <MethodName> [<decl,...>] => METHOD <MethodName> [<decl>] SYNC
|
||||
|
||||
@@ -1503,7 +1503,7 @@ static HB_EXPR_FUNC( hb_compExprUseMacro )
|
||||
}
|
||||
else if( pSelf->value.asMacro.SubType & HB_ET_MACRO_PARE )
|
||||
{
|
||||
/* var := (somevalue, ¯o) - in xbase compatibility mode
|
||||
/* var := (somevalue, ¯o) - in Xbase++ compatibility mode
|
||||
* EVAL( {|| ¯o} ) - in all cases
|
||||
*/
|
||||
HB_GEN_FUNC1( PCode1, HB_P_MACROPUSHPARE );
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
/* runtime settings for macro compiler */
|
||||
#define HB_SM_HARBOUR 1 /* extended Harbour features */
|
||||
#define HB_SM_XBASE 2 /* extended xbase compatibility */
|
||||
#define HB_SM_XBASE 2 /* extended Xbase++ compatibility */
|
||||
#define HB_SM_SHORTCUTS 8 /* enable/disable sortcuts for logical operators */
|
||||
#define HB_SM_ARRSTR 16 /* enable/disable strings as array of bytes */
|
||||
#define HB_SM_RT_MACRO 64 /* disable automatic setup of macro flag */
|
||||
|
||||
@@ -10,6 +10,7 @@ C_SOURCES=\
|
||||
dbcmdhb.c \
|
||||
dbcmdx.c \
|
||||
dbdetach.c \
|
||||
dbdetacx.c \
|
||||
dbdrop.c \
|
||||
dbexists.c \
|
||||
fieldhb.c \
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
HB_FUNC( HB_DBDETACH )
|
||||
{
|
||||
PHB_ITEM pAlias = hb_param( 1, HB_IT_ANY );
|
||||
PHB_ITEM pCargo = hb_param( 2, HB_IT_ANY ); /* HB_IT_BLOCK in xBase++ */
|
||||
PHB_ITEM pCargo = hb_param( 2, HB_IT_ANY ); /* HB_IT_BLOCK in Xbase++ */
|
||||
AREAP pArea = NULL;
|
||||
int iArea;
|
||||
|
||||
@@ -127,15 +127,3 @@ HB_FUNC( HB_DBREQUEST )
|
||||
else
|
||||
hb_errRT_DBCMD( EG_ARG, EDBCMD_BADPARAMETER, NULL, HB_ERR_FUNCNAME );
|
||||
}
|
||||
|
||||
#ifdef HB_COMPAT_XPP
|
||||
HB_FUNC( DBRELEASE )
|
||||
{
|
||||
HB_FUNC_EXEC( HB_DBDETACH );
|
||||
}
|
||||
|
||||
HB_FUNC( DBREQUEST )
|
||||
{
|
||||
HB_FUNC_EXEC( HB_DBREQUEST );
|
||||
}
|
||||
#endif
|
||||
|
||||
71
harbour/source/rdd/dbdetacx.c
Normal file
71
harbour/source/rdd/dbdetacx.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* .prg functions for workarea detaching
|
||||
*
|
||||
* Copyright 2008 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_COMPAT_XPP
|
||||
|
||||
HB_FUNC_EXTERN( HB_DBDETACH );
|
||||
|
||||
HB_FUNC( DBRELEASE )
|
||||
{
|
||||
HB_FUNC_EXEC( HB_DBDETACH );
|
||||
}
|
||||
|
||||
HB_FUNC_EXTERN( HB_DBREQUEST );
|
||||
|
||||
HB_FUNC( DBREQUEST )
|
||||
{
|
||||
HB_FUNC_EXEC( HB_DBREQUEST );
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -516,10 +516,10 @@ HB_EXPORT ERRCODE hb_rddDetachArea( AREAP pArea, PHB_ITEM pCargo )
|
||||
/* flush buffers */
|
||||
SELF_GOCOLD( pArea );
|
||||
|
||||
/* tests shows that xbase++ does not remove locks */
|
||||
/* tests shows that Xbase++ does not remove locks */
|
||||
/* SELF_UNLOCK( pArea, NULL ); */
|
||||
|
||||
/* xbase++ documentation says that child area are also detached but
|
||||
/* Xbase++ documentation says that child area are also detached but
|
||||
* but tests shows that it's not true and chilled and parent relations
|
||||
* are still active and corresponding WA are not detached together.
|
||||
* Harbour clears all child and parent relations.
|
||||
|
||||
@@ -135,7 +135,7 @@ HB_FUNC( HB_ISPRINTER )
|
||||
hb_retl( hb_printerIsReady( hb_parc( 1 ) ) );
|
||||
}
|
||||
|
||||
/* NOTE: The parameter is an XBase++ extension over CA-Cl*pper. [vszakats] */
|
||||
/* NOTE: The parameter is an Xbase++ extension over CA-Cl*pper. [vszakats] */
|
||||
|
||||
HB_FUNC( ISPRINTER )
|
||||
{
|
||||
|
||||
@@ -2389,7 +2389,7 @@ METHOD viewArea() CLASS TBROWSE
|
||||
|
||||
|
||||
/* NOTE: Returns the left margin relative column position of the first
|
||||
non-freezed column. Xbase++ compatible method. */
|
||||
non-frozen column. Xbase++ compatible method. */
|
||||
METHOD firstScrCol() CLASS TBROWSE
|
||||
|
||||
IF ::nConfigure != 0
|
||||
|
||||
@@ -1522,7 +1522,7 @@ METHOD message( cMessage ) CLASS Get
|
||||
|
||||
#ifdef HB_COMPAT_XPP
|
||||
|
||||
/* NOTE: Not tested or compared to XBase++. [vszakats] */
|
||||
/* NOTE: Not tested or compared to Xbase++. [vszakats] */
|
||||
/* TOFIX: To make it work when @S was used. [vszakats] */
|
||||
|
||||
METHOD posInBuffer( nRow, nCol ) CLASS Get
|
||||
|
||||
@@ -91,7 +91,7 @@ FUNCTION HBObject()
|
||||
/*oClass:AddInline( "CLASSSEL" , {| Self | __CLASSSEL( Self:CLASSH() ) }, HB_OO_CLSTP_EXPORTED ) */
|
||||
/*oClass:AddInline( "EVAL" , {| Self | __EVAL( Self ) }, HB_OO_CLSTP_EXPORTED ) */
|
||||
|
||||
/* xBase++ */
|
||||
/* Xbase++ */
|
||||
#ifdef HB_COMPAT_XPP
|
||||
oClass:AddInline( "ISDERIVEDFROM" , {| Self, xPar1 | __ObjDerivedFrom( Self, xPar1 ) }, HB_OO_CLSTP_EXPORTED )
|
||||
#endif
|
||||
|
||||
@@ -498,7 +498,7 @@ HB_FUNC( TRANSFORM )
|
||||
for( i = 0; szResult[ i ] == ' '; i++ )
|
||||
szResult[ i ] = byParamL;
|
||||
|
||||
/* please test it with FoxPro and xbase++ to check
|
||||
/* please test it with FoxPro and Xbase++ to check
|
||||
* if they made the same [druzus]
|
||||
*/
|
||||
if( i && szResult[ i ] == '-' )
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Copyright 2008 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
|
||||
* www - http://www.harbour-project.org
|
||||
* special thanks for Pritpal Bedi for class skeleton with info about
|
||||
* xbase++ and to other contributors which I hope will finish and fix
|
||||
* Xbase++ and to other contributors which I hope will finish and fix
|
||||
* this code
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
#ifdef HB_COMPAT_XPP
|
||||
|
||||
/* I do not know xBase++ values */
|
||||
/* I do not know Xbase++ values */
|
||||
#define QUIT_NORESTART 1
|
||||
#define QUIT_RESTART 2
|
||||
|
||||
|
||||
@@ -442,7 +442,7 @@ void hb_macroGetValue( HB_ITEM_PTR pItem, BYTE iContext, BYTE flags )
|
||||
if( iContext != 0 )
|
||||
{
|
||||
/*
|
||||
* If compiled in xbase compatibility mode:
|
||||
* If compiled in Xbase++ compatibility mode:
|
||||
* macro := "1,2"
|
||||
* funCall( ¯o ) ==> funCall( 1, 2 )
|
||||
* { ¯o } ==> { 1, 2 }
|
||||
@@ -970,7 +970,7 @@ HB_FUNC( HB_SETMACRO )
|
||||
case HB_SM_HARBOUR:
|
||||
/* enable/disable extended Harbour compatibility */
|
||||
case HB_SM_XBASE:
|
||||
/* enable/disable extended xbase compatibility */
|
||||
/* enable/disable extended Xbase++ compatibility */
|
||||
case HB_SM_ARRSTR:
|
||||
/* enable/disable processing of strings as an array of bytes */
|
||||
case HB_SM_SHORTCUTS:
|
||||
|
||||
@@ -280,7 +280,7 @@ stop()
|
||||
? transtest( 1234, "@0)", "0000001234" )
|
||||
? transtest( -1234, "@L(", "(000001234)" )
|
||||
? transtest( -1234, "@0)", "(000001234)" )
|
||||
/* please test it with FoxPro and xbase++ to check if they give the same result */
|
||||
/* please test it with FoxPro and Xbase++ to check if they give the same result */
|
||||
? transtest( -1234, "@L", "-000001234" )
|
||||
? transtest( -1234, "@0", "-000001234" )
|
||||
#endif
|
||||
|
||||
@@ -762,7 +762,7 @@ PROCEDURE Main_TRANS()
|
||||
TEST_LINE( Transform( 1234, "@0)" ), "0000001234" )
|
||||
TEST_LINE( Transform( -1234, "@L(" ), "(000001234)" )
|
||||
TEST_LINE( Transform( -1234, "@0)" ), "(000001234)" )
|
||||
/* please test it with FoxPro and xbase++ to check if they give
|
||||
/* please test it with FoxPro and Xbase++ to check if they give
|
||||
* the same result
|
||||
*/
|
||||
TEST_LINE( Transform( -1234, "@L" ), "-000001234" )
|
||||
|
||||
Reference in New Issue
Block a user