* include/hbdefs.h
! Fixed to not #include <dos.h> unconditionally. This should
be done by specific source code, if needed. INCOMPATIBLE,
if source code relied on this behavior. From now on it,
should include dos.h manually.
* src/vm/thread.c
* src/common/hbver.c
* src/rtl/gtdos/gtdos.c
* src/rtl/isprint.c
* src/rtl/diskspac.c
* src/rtl/disksphb.c
* src/rtl/net.c
* contrib/hbct/print.c
! Fixed to #include <dos.h> manually.
* src/rtl/fstemp.c
! Fixed recent warning for dos targets.
* contrib/hbct/video.c
! Fixed old unused variable warning for dos/watcom targets.
* INSTALL
+ Documented that OS/2 Warp 4 is supported (instead of generic OS/2).
* src/vm/extrap.c
* src/vm/dynlibhb.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbver.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/gtos2/gtos2.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* include/hbthread.h
* contrib/hbmzip/hbmzip.c
! Fixed to setup all OS/2 INCL_* constants and
to #include os2.h by themselves, and not to rely
on Harbour headers to do this job for them.
; TODO: Do the same for dos.h.
* doc/hdr_tpl.txt
- Deleted local changelog.
! Fixes to .prg function docs
+ Update copyright year to 2010.
+ Added fact that $SEEALSO$ should be comma separated.
+ Added .c function example (far from perfect)
* examples/hbdoc2/tmplates.prg
* doc/hdr_tpl.txt
+ Added $VERSION$ tag. (pls update HBIDE. We haven't finalized
the format yet, to it's little bit premature to create
new and new parsers/generators for it yet)
* include/hbdefs.h
! Fixed to not unconditionally include OS/2 headers with
an arbitrary selection of INCL_ macros.
Now OS/2 headers will only be included if legacy types
are requested (off by default), and no INCL_ macros
are defined. This latter change may affect 3rd party
code written for OS/2, so I'm marking it INCOMPATIBLE.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* Changed to #include hbapi.h from hbqt.h. It needs it,
so this is the clean way. Changed generator to leave
out hbapi.h from each source file and refer to hbqt.h
only. (untested)
+ Added logic to #include OS/2 headers with some INCL_
macros defined, to make QT on OS/2 happy. (copied them
from the dev. list)
; TODO: Regenerate HBQT sources.
* utils/hbtest/hbtest.prg
! Cleaned old problem reported by Chen. It seems like
a feature which was never finished, and it's not even
hugely needed, so I deleted it.
* config/global.mk
+ Will now provide HB_COMP_PATH_PUB value for os2-gcc, os2-gccomf
compilers. This value can be used to manually form ld.exe
command line.
(NOTE: This may be deleted in the future, when sorting
out line-length limit problems for these compilers.
* contrib/hbide/ideharbourhelp.prg
+ Implemented: presentation of documents per "Category" field.
; QUESTION: is it worth to populate the tree with sub-category.
In my opinion, a function can belong to many categories.
If yes, what method to adopt?
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Added slots for QTextBrowser()
* contrib/hbide/ideharbourhelp.prg
+ Implemented: navigation in "See Also" slot.
Functions contained in "See Also" are highlighted as a link
where single-click presents the relevant document.
;NOTE: "See Also" functions must ever be delimited with ",".
;GPF: Present at exit.
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Added slots covering QListWidget().
+ contrib/hbide/resources/dc_pdffile.png
* contrib/hbide/resources/docviewgenerator.ui
* contrib/hbide/resources/docviewgenerator.uic
+ Added "Export to PDF Document" icon.
* contrib/hbide/hbide.prg
* contrib/hbide/ideharbourhelp.prg
+ Implemented: printing of html document - activated via Print toolbar icon.
: export as PDF document - activated via PDF toolbar icon.
: syntax-highlighter for "Examples", "Tests" editors.
: font Courier new set for "Examples", "Tests", "Arguments" editors.
: Home, backward, forward, up navigation.
: indexed search - activated via "Index" tab on left pane.
: set to load whole tree at first invocation.
: tree navigation simplified, honors single click.
: added pages for Root, Paths, Files, nodes.
; Now usability of the hbIDE's documentation viewer has increased many folds.
I am wondering we have a lot f documentation in place but was invisible.
Today I could feel comfortable and hope in coming future almost all of you
will contribute for this noble cause.
; Basic functionality of the viewer is almost there. So I will be concentrating
on the "Generator/Writer" templates part. Goal is to provide very easy
mechanism for a writer
* to select a source,
* the function(s) within that source,
* create basic template skeletons filled with meaningful material
for selected functions,
* and slots to save them.
; The search engine follows the standard way.
* Click on "Index" left-pane tab,
* Start typing in function edit box,
* As you type, the incremental search is performed and
relevant function is brought in focus.
The search is case insensitive.
* Press enter while in edit control and have function
documentation visible in the viewer.
* Alternatively you can navigate the Functions list,
double-click on one yoy are interested in.
; GPF is still there, struggling.
; Please forward shortcomings.
+ contrib/hbide/resources/dc_delete.png
+ contrib/hbide/resources/dc_down.png
+ contrib/hbide/resources/dc_folder.png
+ contrib/hbide/resources/dc_function.png
+ contrib/hbide/resources/dc_home.png
+ contrib/hbide/resources/dc_left.png
+ contrib/hbide/resources/dc_plus.png
+ contrib/hbide/resources/dc_print.png
+ contrib/hbide/resources/dc_quit.png
+ contrib/hbide/resources/dc_refresh.png
+ contrib/hbide/resources/dc_right.png
+ contrib/hbide/resources/dc_textdoc.png
+ contrib/hbide/resources/dc_textdocument.png
+ contrib/hbide/resources/dc_up.png
+ contrib/hbide/resources/docviewgenerator.ui
+ contrib/hbide/resources/docviewgenerator.uic
* contrib/hbide/resources/help.png
+ contrib/hbide/resources/searchreplace.ui
+ contrib/hbide/resources/searchreplace.uic
+ Added few more images and redefined a prev one.
* contrib/hbqt/THbQtUI.prg
+ Added some more hbqt.ch defined constants in the engine.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idestylesheets.prg
+ Implemented an html viewer for Harbour's documentation .txt
files with slots to make it a "writer" too if it fits the purpose.
! Reimplemented the "Search-Replace" user interface and working.
A work-in-progrss which I will explain later.
; Harbour Documentation Viewer - How to Invoke
* Close any docking pane is visible at the right panel.
* Point to <Docks> option on <Main Menu> and click on
<Document Viewer>
* A right-side "Document Viewer" window will appear.
* Provide Harbour's installation root path in
"Harbour Installation Root:" field, i.e., C:\harbour
* OR alternatively, you can choose one by clicking
"Harbour Installation Root Path" icon on the right of
field.
* Click "Refresh" icon on the toolbar of "Document Viewer"
window" only once and wait a couple of seconds.
* "Contents" tab will be populated with /doc and /doc/en
folders.
* Double-click on one to expand - you will be able to
view .txt file names.
* Double-click on some .txt node, wait a couple of seconds,
and you will be able to see "functions" nodes.
* Double-click on the function's node and you will be
presented with html display in the "View" tab on the right.
* Navigate other tabs on the right, you will understand the
contents.
* Next time hbIDE will remember Harbour's installation root path.
* :( On exit expect to receive a GPF, investigating.
Right now only "Viewer" part is ready per preliminary stages.
I have a lot of ideas on my drawing-board and would like to
hear your opinions. Basic components to write a document are
also in place, but I need to gather more info and what else
can be included.
In the next several days I will be focussing on this tool.
Bacco and Vailton, please bear with me, as this interface
is the basic requirement of hbIDE which I had kept postponed
till now. A stand alone viewer and writer has its own purpose,
space, and audience.
* contrib/hbwin/hbwin.ch
! Renamed HB_WIN_RGB_BROWN to HB_WIN_RGB_YELLOW to match
real RGB color.
I left old RGB_BROWN as is, even if was never really
set to brown.
* harbour/src/vm/task.c
! fixed casting for C++ builds
* harbour/src/lang/msges.c
! added hack for Solaris builds where ES is macro
TODDO: sync names of lang and corresponding code modules.
* harbour/src/vm/dynlibhb.c
* pacified warning
* harbour/contrib/xpp/xppextrn.ch
* harbour/contrib/xpp/dbcmdx.c
* harbour/include/hbextern.ch
* harbour/src/rdd/dbcmd53.c
! moved ordWildSeek() from XPP to HBRDD library.
I have no idea if XPP has such function or if it's or not
compatible with ORDWILDSEEK() functions I created for [x]Harbour
* disable ordCount() and ordWildSeek() functions when HB_CLP_STRICT
macro is set
* harbour/include/hbsocket.ch
+ added macro values interface info flags: HB_SOCKET_IFF_*
+ added macro values for interface info array indexes: HB_SOCKET_IFINFO_*
* harbour/include/hbsocket.h
* harbour/src/rtl/hbsocket.c
+ added new C function:
PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases );
it returns array with existing interfaces description.
This code was added for non MS-Windows based platforms only.
Support for MS-Windows has to be added yet.
Some platforms may not fill all fields in the returned array.
When some fields are not supported by platform or interface then
they can contain NIL value.
On some platforms this code can effectively work only with IP4
interfaces and IP6 ones will need different implementation.
TODO: add support for alternative long interface introduced in some
new systems using 'struct lifreq' with SIOCGLIF* ioctls instead
of 'struct ifreq' and SIOCGIF*
TODO: add support for extracting hardware addreses (i.e. ethernet
macaddresses) for systems which do not support SIOCGIFHWADDR.
Please test this code with OS2 using OpenWatcom and GCC (old and
new socket API). I enabled HB_HAS_SOCKADDR_SA_LEN in OS2 builds.
OpenWatocm OS2 header files have such fields but I do know if it's
also present in GCC socket API.
* harbour/include/hbextern.ch
* harbour/src/rtl/hbinet.c
+ added new PRG function:
hb_inetIfInfo( [<lNoAliases>] [, <nAddrFamily>] ) -> <aInfo>
<lNoAliases> is .F. by default so aliases are included
<nAddrFamily> is HB_SOCKET_AF_INET by default
<aInfo> is an array in which each entry is also array with the
following fields:
HB_SOCKET_IFINFO_FAMILY 1 // adress family
HB_SOCKET_IFINFO_NAME 2 // interface name
HB_SOCKET_IFINFO_FLAGS 3 // flags HB_SOCKET_IFF_*
HB_SOCKET_IFINFO_ADDR 4 // interface address
HB_SOCKET_IFINFO_NETMASK 5 // subnetmask
HB_SOCKET_IFINFO_BROADCAST 6 // broadcast address
HB_SOCKET_IFINFO_P2PADDR 7 // point-to-point address
HB_SOCKET_IFINFO_HWADDR 8 // hardware address
Please use this code on different non MS-Windows platforms:
proc main( noAlias )
local iface
? os(), version()
? "interfaces:"
for each iface in hb_inetIfInfo( !empty( noAlias ), 0 )
? hb_valToExp( iface )
next
?
return
and check if it returns correct information about available
interfaces.
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_FLAGSHIP, HB_COMPAT_FOXPRO.
* include/hbextern.ch
* src/rtl/seconds.c
+ Added HB_SECONDSCPU()
(native Harbour version of FlagShip specific SECONDSCPU())
* tests/memtst.prg
* tests/speedold.prg
* tests/speedtst.prg
* tests/vidtest.prg
* Changed to use HB_SECONDSCPU().
+ Added translation from SECONDSCPU() to HB_SECONDSCPU() when
built for FlagShip (where applicable).
* include/hbextern.ch
* src/rtl/Makefile
- src/rtl/strpeek.c
- src/rtl/secondfs.c
* contrib/Makefile
+ contrib/hbfship
+ contrib/hbfship/Makefile
+ contrib/hbfship/hbfship.hbc
+ contrib/hbfship/secondfs.c
+ contrib/hbfship/strpeek.c
- Moved FlagShip specific function from core to new hbfship lib.
* Changed SECONDSCPU() to be just a wrapper over core HB_SECONDSCPU().
; INCOMPATIBLE: If you used SECONDSCPU() function, change it to
HB_SECONDSCPU(), or add hbfship to your lib list.
If you used STRPEEK() or STRPOKE() functions,
add hbfship to your lib list.
* utils/hbmk2/examples/contribf.hbc
+ Added hbfship.
* src/common/hbverdsp.c
* include/hbsetup.ch
* contrib/xhb/xhbver.prg
- Deleted HB_COMPAT_VO, HB_COMPAT_DBASE, HB_COMPAT_CLIP as build-time
options. They were not used, and in the future these should be
implemented as addon libraries.
* INSTALL
* Minor terminogology adjustment.
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted special handling of FlagShip functions.
* include/hbextern.ch
* src/rtl/browdb.prg
* src/rdd/dbcmd.c
* contrib/xpp/dbcmdx.c
* contrib/xpp/browdbx.prg
+ Cleaned the way TBrowseDB() "skipper" function is defined.
This means that from now on by default the faster, .c
implementation will be used (now called __DBSKIPPER()).
The same will be used by xpp lib (via compatibility stub
called DBSKIPPER()). The .prg implementation (now moved
in core) will be used when HB_CLP_STRICT is enabled.
* include/hbextern.ch
+ Added missing HB_DYNCALL().
* contrib/xpp/xpp.ch
* Do not #define HB_COMPAT_XPP.
+ contrib/hbziparc/doc
+ contrib/hbziparc/doc/en-EN
+ contrib/hbziparc/doc/en-EN/hbziparc.txt
* contrib/hbziparc/hbziparc.prg
+ Separated docs from source code.
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
(one remaining occurence)
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
From this point all Xbase++ compatibility functions and core
classes are implemented in 'xpp' contrib library (name
tentative). Add it to your lib list, if you need Xbase++
compatible functions. IOW HB_COMPAT_XPP build time option
got converted to a app link time option.
* src/rtl/isprint.c
- Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
purely Clipper compatible in default build.
INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
(or HB_ISPRINTER() which is the exact same).
* src/rtl/tobject.prg
* src/rtl/transfrm.c
* src/rtl/memoedit.prg
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
* src/rdd/nulsys/nulsys.c
- Deleted HB_COMPAT_XPP guarded function.
* contrib/xhb/xhbver.prg
* Always return .T. for _HB_COMPAT_XPP in version info.
* include/box.ch
* contrib/xpp/xpp.ch
+ Added Xbase++ compatibility box.ch constants from core box.ch.
INCOMPATIBLE if you use B_THIN or B_FAT box style.
* utils/hbtest/hbtest.prg
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted parts dealing with HB_COMPAT_XPP option.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added support for -harbourhelp option which will result
in the same output as 'harbour --help' command.
+ Added reference to -harbourhelp option which display
Harbour compiler help.
+ Added support for -build option support in hbmk2.
It will be passed to Harbour compiler.
* contrib/hbwin/hbwin.ch
* Formatting.
* contrib/hbide/resources/help.png
+ contrib/hbide/resources/sort.png
+ contrib/hbide/resources/sortdescend.png
+ Added new images and changed one old.
* include/hbsetup.h
* Changed not to rely on _WIN32_WCE to detect WinCE.
* config/wce/global.mk
* utils/hbmk2/hbmk2.prg
% Changed to not pre-define _WIN32_WCE to any value. This should
be user choice.
* contrib/hbfimage/fi_winfu.c
! Fixed for WinCE builds. Now only non-WinCE compatible parts
are disabled and functions keep being defined on .prg level
regardless.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
% Cleaned logic that guards '_WINDOWS_' definition.
* contrib/hbwin/win_bmp.c
! Fixed to use hexadecimal notation instead of octal, because
some compilers where getting confused and tried to match these
with some codepages.
* contrib/hbwin/win_prn1.c
! Fixed for poccarm, because Pelles C (even 6.0) forgets to
map FONTENUMPROC to FONTENUMPROCW.
* contrib/hbwin/win_prn3.c
! Added some extra WinCE guards to avoid warning for this platform.
* src/debug/dbgentry.c
* Formatting.
+ contrib/hbide/resources/closetab.png
+ contrib/hbide/resources/down.png
+ contrib/hbide/resources/minus.png
+ contrib/hbide/resources/previous.png
+ contrib/hbide/resources/up.png
* contrib/hbide/resources/searchreplacepanel.ui
* contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idefindreplace.prg
+ Implemented ( partial ) extended search/replace panel like Qt itself.
This can be activated via <Edit><Find / Replace Ex> or Ctrl+Sh+F.
The panel is anchored beneth editor area and above status-bar,
or above any other dock-widget at the bottom area is open.
It implements incremental search with visual color differentiation.
Try typing in some text to find. Still other buttons are inactive.
It may take a day to synchronize everything.
This implementation adds another value to "Find/Replace".
Ctrl+F implementation is there as is. You can take advantage of both.
+ contrib/hbide/resources/searchreplacepanel.ui
+ contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idestylesheets.prg
+ Prepared to use panel instead of "Replace/Find" dialog.
! Vaiables name uniformity for docking widgets.
! Simplification and centralization of creation of "Docking" widgets.
% Fixed to not crash when "Find in Files" was not called before exit.
; Press CTRL+F and see a panel appearing inbetween editor and statusbar.
This widget has to be matured a little and will facilitate that
search and replace action will never hide any part of the
editing area. A final ( uptil now ) reform in user-interface.
+ contrib/hbide/resources/blockcomment.png
+ contrib/hbide/resources/environments.ui
+ contrib/hbide/resources/environments.uic
+ contrib/hbide/resources/findinfilesex.ui
+ contrib/hbide/resources/findinfilesex.uic
+ contrib/hbide/resources/projectpropertiesex.ui
+ contrib/hbide/resources/projectpropertiesex.uic
+ contrib/hbide/resources/streamcomment.png
+ contrib/hbide/resources/themesex.ui
+ contrib/hbide/resources/themesex.uic
* contrib/hbqt/THbQtUI.prg
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idestylesheets.prg
* contrib/hbide/idethemes.prg
+ This commit implements all other windows ( except Find/Replace )
opened as a docked-window of the main-frame. This facilitates
a greater control over the various actions together. This is a
major change in the interface, please update your notes.
Find/Replace window is scheduled to be contained in separate panel
at the bottom of the editor area, right on top of the "Output Console",
as is implemented in Qt Creator itself. Please express your opinions.
The above should have been the way since begining, but you know,
programming skills are polished with time.
* harbour/harbour.spec
! fixed to work with modified library name hbbmcdx -> rddbmcdx
* harbour/contrib/hbwin/legacycd.c
! fixed casting for C++ builds
* include/hbdyn.ch
* src/rtl/hbdyn.c
+ Added support for misc 'options'. Both for return values
and parameters.
+ Added HB_DYN_OPT_NULLTERM option which will cause that
buffers passed by reference will return null terminated
string (thus cutting the rest of the buffer).
% Implemented macros sent to the list by Przemek. This made
the source significantly smaller (one quarter of original
size) and much easier to manage/modify. Thanks!
* tests/testdyn.prg
+ Added test for zero terminated strings.
! Fixed to set UTF16 mode for Windows "WIDE" call.
* contrib/xpp/dllx.c
% Minor optimization.
* contrib/hbwin/wapi_wingdi.c
+ WAPI_TEXTOUT(): Emulating functionality on WinCE platform,
so it's now available also on WinCE.
* contrib/hbwin/win_prn1.c
* Formatting.
* src/common/hbwince.c
* include/hbwince.h
! Added abort() declaration and implementation
for poccarm and old msvcarm targets.
* contrib/hbwin/win_bmp.c
+ Enabled for WinCE: WIN_BITMAPDIMENSIONS()
* contrib/hbwin/win_bmpd.c
+ All functions enabled for WinCE.
* contrib/hbwin/win_prn1.c
+ WIN_TEXTOUT() changed to always use ExtTextOut() internally,
so that it work on WinCE. (it's also faster)
+ WIN_CREATEFONT() changed to use CreateFontIndirect() which
also works for WinCE.
* contrib/hbwin/wapi_wingdi.c
+ Added WAPI_CREATEFONTINDIRECT(), which always works on both
Windows and WinCE.
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/wapi_wingdi.c
+ All functions enabled for WinCE. The ones not available
on WinCE, will return permanent error.
* contrib/hbwin/legacycd.c
! Added missing WinCE header after previous commit.
+ contrib/hbide/resources/cutb16.png
+ contrib/hbide/resources/dbl2sglquote.png
+ contrib/hbide/resources/decreaseindent.png
+ contrib/hbide/resources/down16.png
+ contrib/hbide/resources/increaseindent.png
+ contrib/hbide/resources/sgl2dblquote.png
+ contrib/hbide/resources/up16.png
* contrib/hbide/idedocks.prg
+ Implemented left-side toolbar containing available panels
distinguished by suble color change. Click on one will
bring forward the relevant tabs-panel. Tooltip describes
which panel it is.
+ Implemented left-side another toolbar underneath above one
giving access to line and block actions.
;NOTE: Please test and forward suggessions.
;REQUEST: Can someone provide relevant .png's to these actions ?
I am really poor in drafting something meaningful.
* src/rtl/fstemp.c
! Using hb_fsTempDir() in HB_FTEMPCREATEEX() instead of
old solution. This should fix it for some non-*nix
platforms where *nix specific TEMPDIR envvar was used
to determine temp directory.
* contrib/hbwin/Makefile
* include/Makefile
* src/rtl/Makefile
- contrib/hbwin/hbdyn.ch
+ include/hbdyn.ch
- contrib/hbwin/hbdyn.c
+ src/rtl/hbdyn.c
- contrib/hbwin/win_dllc.c
+ src/rtl/hbdynhb.c
- contrib/hbwin/tests/testdll.c
+ tests/testdyn.c
- contrib/hbwin/tests/testdll.prg
+ tests/testdyn.prg
- contrib/hbwin/tests/testdll1.prg
+ tests/testdyn1.prg
- contrib/hbwin/hbdyn.h
* include/hbapi.h
* Moved dynamic library call related functions to
core (RTL).
* Windows specific test code (currently all) guarded
for platform.
* Changed default calling convention to cdecl.
Tests adaptd accordingly.
* Terminology change: 'dll' -> 'dynamic library'
; HB_DYNCALL() is now part of core Harbour, and it's
platform independent. It's platform (ABI) dependent though,
and currently x64 and x86/stdcall/syscall/cdecl
is supported and these were tested (except OS/2 syscall).
* contrib/hbwin/hbwin.h
* contrib/hbwin/win_misc.c
* contrib/hbwin/legacycd.c
* Low level hbwin_getprocaddress() function moved
to legacy file and made static.
* contrib/xpp/Makefile
* contrib/xpp/dllx.c
* contrib/xpp/xpp.hbc
+ Enabled DLL*() functions for all platforms.
- Deleted dependence on hbwin library.
* contrib/xpp/tests/testdll.prg
* Windows specific parts (currently the whole test) guarded
for platform.
* contrib/hbct/Makefile
- contrib/hbct/diskhb.prg
* contrib/hbct/disk.c
* contrib/xhb/Makefile
+ contrib/xhb/diskhb.prg
* GETVOLINFO() moved from hbct to xhb.
* ChangeLog
* Marked some TODO/TOFIX items as DONE.
* contrib/xpp/dllx.c
* contrib/hbwin/hbdyn.c
* contrib/hbwin/hbdyn.ch
+ Implemented 'syscall' calling convention for OS/2.
% hb_dynCall() now won't include English text is error message,
but use EG_LIMIT to signal too many parameters.
* contrib/hbmysql/mysql.c
+ Implemented MYSQL_INSERT_ID().
* long -> HB_SIZE
% Minor cleanup.
* contrib/xpp/Makefile
- contrib/xpp/win_dllx.c
+ contrib/xpp/dllx.c
* contrib/xpp/tests/testdll.prg
+ Adapted Xbase++ compatible DLL*() functions to use
core dynamic lib handling functions.
* Renamed source file, now that it's not Windows specific.
+ Updated tests.
; NOTE: Please review this code. It's the first time I
used GC references in code, and it may be wrong.
; TODO: Remove hbwin dependence after having moved hb_dynCall()
from hbwin to core.
+ contrib/xpp/tests/hbmk.hbm
+ Added missing file from prev commit.
* contrib/hbwin/tests/testdll.prg
* Updated for latest HB_DYNCALL() changes.
* ChangeLog
! Updated WIN_DLLCALL() -> HB_DYNCALL() change.
This is the full list of lost features (all due to
non-portability):
- Specifiying function by (numeric) ordinal.
- Passing function pointer directly.
- Automatic lookup for function names with 'A' and 'W' ending.
- Automatic UNICODE encoding for functions ending with 'W'.
* src/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
* Replaced _WIN32_WINNT redefinition with
#definition of WS_EX_LAYERED constant, in case it's not defined
by Windows headers.
* contrib/hbwin/wapi_wingdi_font.c
+ Accessing the W2K specific functions dynamically.
+ Defining the high-level functions also in WinCE, returning
permanent error.
! Deleted _WIN32_WINNT redefinition.
; Someone pls test these using older compiler/SDK version.