Commit Graph

13480 Commits

Author SHA1 Message Date
Viktor Szakats
fe88356f37 2010-02-17 11:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/bldtest/bldtest.c
    ! Fixed to build on bcc.

  * contrib/hbwin/legacycd.c
    ! Fixed typo (reported as bcc warning).
2010-02-17 10:47:35 +00:00
Viktor Szakats
4cffc42648 2010-02-17 11:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2010-02-17 10:41:33 +00:00
Przemyslaw Czerpak
28d5c5c7f4 2010-02-17 09:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/expropt1.c
  * harbour/contrib/xhb/freadlin.c
    ! fixed typos in HB_TRACE() debug messages
2010-02-17 08:35:17 +00:00
Pritpal Bedi
0ad0574bbf 2010-02-16 18:31 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ 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.
2010-02-17 02:38:41 +00:00
Viktor Szakats
a3b3c4fd7f 2010-02-17 03:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/legacycd.c
    ! Fixed GETPROCADDRESS() for WinCE after recent changes.
    % Re-merged GETPROCADDRESS() with low-level worker function.
2010-02-17 02:23:34 +00:00
Viktor Szakats
83bbb7b34d 2010-02-17 03:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2010-02-17 02:09:17 +00:00
Viktor Szakats
583054be8f 2010-02-17 01:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmysql/mysql.c
    ! Typo.
2010-02-17 00:42:40 +00:00
Viktor Szakats
f26da299da 2010-02-17 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2010-02-17 00:26:53 +00:00
Przemyslaw Czerpak
a60bc13346 2010-02-17 00:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
    * added iTODO warning to OpenWatcom Linux builds

  * harbour/src/debug/dbgtmenu.prg
    ! fixed code used for debugger menu to be MT safe
2010-02-16 23:56:14 +00:00
Viktor Szakats
a6425c9539 2010-02-16 23:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
    ! Fixed missing Windows constant on some compilers (older mingw I suppose), 
      after deleting _WIN32_WINNT override.

  * contrib/xpp/Makefile
  + contrib/xpp/dll.ch
    + Added Xbase++ compatibility header.

  * contrib/xpp/dllx.c
    + Described Xbase++ differences. (major ones)
    ! Changed DLLLOAD()/DLLUNLOAD() to use core loader functions,
      instead of win-specific ones.
    + Made calling convention value Xbase++ compatible.

  * contrib/hbwin/hbdyn.ch
    + Added Pascal calling convention. Not yet implemented.
2010-02-16 22:37:34 +00:00
Viktor Szakats
e3e177a23a 2010-02-16 21:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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'.
2010-02-16 20:05:07 +00:00
Viktor Szakats
7ca026a4f4 2010-02-16 19:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2010-02-16 18:51:23 +00:00
Pritpal Bedi
254fefc062 2010-02-16 09:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* 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
    + Started left-hand toolbar(s) to present visual interactions for 
      a number of hidden actions. A work-in-progress.

  * contrib/hbqt/THbQtUI.prg
    ! Fixed object destruction sequence per latest changes in HbQtUI() class.
2010-02-16 17:28:28 +00:00
Viktor Szakats
9f5bde86b9 2010-02-16 16:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/wce_smsc.c
    ! Fixed to skip content for msvc 2003 in C mode.

  * config/globsh.mk
    + Now also deleting .pch (MSVC precompiled header) files on
      clean, in case someone enables them.

  ; NOTE: I turned out all my tests using "msvc 2003" compiler
          was in fact a 12.20.9615 (_MSV_VER=1201, clarm.exe)
          version compiler, which equals to VC++ 6.0.
          Just for the record, since I can't oversee what WinCE
          compilers were released between this and MSVC2005 (8.0/1400),
          so until then I have to assume that everything
          below 8.0 are "old" msvcarm versions (7.1/1310 or lower).
2010-02-16 15:30:31 +00:00
Viktor Szakats
b0396dac4e 2010-02-16 15:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fix to add 'lib' prefix for gcc compiler when using -implib option.
    + Added comment detailing prev change.

  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    - Deleted -YX option. 
      We don't want to force precompiled headers by default on older 
      MSVC versions.
2010-02-16 14:07:07 +00:00
Viktor Szakats
cd83e94235 2010-02-16 11:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * src/vm/fm.c
    ! Tweaks to allow msvcarm 2003 build.

  * src/vm/maindllp/dllpcode.c
  * src/vm/maindllh.c
    ! Deleted (AFAIK unnecessary) HB_EXPORT to make msvcarm 2003 happy.

  * src/common/hbgete.c
  * src/rtl/net.c
    ! Fixed missing #include hbwince.h.

  * external/sqlite3/Makefile
    - Disabled for msvcarm 2003.

  * contrib/gtalleg/Makefile
    - Disabled for msvcarm.

  * contrib/hbodbc/Makefile
  * contrib/rddsql/sddodbc/Makefile
    ! Do not force sql.h header for msvcarm 2003.

  * contrib/rddbmcdx/hbbmcdx.h
    ! Fixed HB_EXTERN placement to make msvcarm 2003 happy.

  * contrib/hbct/ctnet.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbnf/getenvrn.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_dlg.c
    ! Fixed to make them compile on msvcarm 2003.

  * config/wce/msvcarm.mk
  * utils/hbmk2/hbmk2.prg
    ! Fixed warning option for msvcarm 2003.

  * utils/hbmk2/hbmk2.prg
    ! Fixed type causing RTE with msvcarm targets.

  ; NOTE: hbcurl doesn't build with msvcarm 2003, so either
          don't enable it, or experiment with HB_USER_CFLAGS=-U_WIN32_WCE
          hack. The problem lies somewhere in libcurl headers,
          not Harbour code.
2010-02-16 10:14:24 +00:00
Viktor Szakats
85aea7dab1 2010-02-16 09:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dllc.c
  * contrib/hbwin/tests/testdll.prg
    * Replaced WIN_DLLCALL() with portable (non Windows-specific)
      HB_DYNCALL(), which uses Harbour core function to handle
      dynamic libs. This also means there is two former feature lost:
         - Specifiying function by (numeric) ordinal.
         - Passing function pointer directly.
    ; TODO: Make the default calling convention cdecl?
    ; TODO: Move 'hbdyn' subsystem to core after review.

    ; HB_DYNCALL() should be called as follows:

        HB_DYNCALL( <pFunction> | <aFunction>, ... ) -> <xResult>

        where <aFunction> can be:
           { <cFunction>, <cLibrary> | <pLibrary> [, <nFuncFlags> [, <nArgFlags1>, ..., <nArgFlagsn> ]] }

        where
           <nFuncFlags> can be:
              hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_*, HB_DYN_CALLCONV_* )
           <nArgFlags*> can be:
              hb_bitOr( HB_DYN_CTYPE_*, HB_DYN_ENC_* )

  * contrib/hbwin/win_dllf.prg
    * Renamed WIN_DLLCALLFOXPRO() to HB_DYNCALLFOXPRO().
2010-02-16 08:45:07 +00:00
Pritpal Bedi
70f0688775 2010-02-15 19:22 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideprojmanager.prg
    + Project Management: first steps to integrate with .hbp engine.
    % 'Project Location' made sensitive to valid/invalid path 
      with different background color.
2010-02-16 03:23:57 +00:00
Viktor Szakats
b5b1f23841 2010-02-15 23:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmysql/hbmysql.hbc
  * contrib/hbpgsql/hbpgsql.hbc
  * contrib/rddsql/sddmy/sddmy.hbc
  * contrib/rddsql/sddpg/sddpg.hbc
    * Adjusted 3rd party lib names to work out-of-the-box on
      *nix platforms.
2010-02-15 22:48:29 +00:00
Przemyslaw Czerpak
a2f9a20abc 2010-02-15 15:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbfbird/firebird.c
    ! use native type for GC pointer item holder instead of casting
      to 'void *'. Such casting may strip significant data when handler
      is wider type then pointer.

  * harbour/contrib/hbnf/fttext.c
    ! fixed unnecessary casting
2010-02-15 14:12:56 +00:00
Przemyslaw Czerpak
80500fce7f 2010-02-15 12:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hvm.c
    * minor cleanup

  * harbour/src/vm/dynlibhb.c
    ! added missing #include "hbwince.h"
2010-02-15 11:34:18 +00:00
Viktor Szakats
1da8d6b404 2010-02-15 12:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Changed to use win-make/dos-make in examples.

  * contrib/hbwin/win_tbmp.prg
    - Deleted XBPBITMAP class mapped to WIN_BMP.
      This should be the job of HBXBP.

  * contrib/xpp/xpp.hbc
  + contrib/xpp/tests
  + contrib/xpp/tests/testdll.prg
  * contrib/xpp/Makefile
  + contrib/xpp/win_dllx.c
  * contrib/hbwin/Makefile
  - contrib/hbwin/win_dllx.c
  * contrib/hbwin/tests/testdll.prg
    + Moved Xbase++ compatible DLL functions to xpp lib.
    * INCOMPATIBLE change. If you use these functions (DLL*())
      add xpp lib to your lib list.
    ; Finally we don't have any HB_COMPAT_* dependent parts
      in hbwin.

  * contrib/hbwin/hbwin.ch
    * Changed to use full (0xFF) color components for RGB presets.

  * contrib/gtwvg/Makefile
    * Deleted trailing spaces.
2010-02-15 11:14:14 +00:00
Przemyslaw Czerpak
b0f4f1f4a1 2010-02-15 10:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new C function hb_vmFindFuncSym() which looks for function with
      given name registered in HVM by dynamically loaded library. It looks
      for public function and if public function cannot be located it tries
      to find first static function which has requested name.

  * harbour/include/hbapi.h
  * harbour/src/vm/dynlibhb.c
    + added new C functions to manage dynamic libraries:
         PHB_ITEM hb_libLoad( PHB_ITEM pLibName, PHB_ITEM pArgs );
         HB_BOOL hb_libFree( PHB_ITEM pDynLib );
         void * hb_libHandle( PHB_ITEM pDynLib );
         void * hb_libSymAddr( PHB_ITEM pDynLib, const char * pszSymbol );

  * harbour/include/hbextern.ch
  * harbour/src/vm/dynlibhb.c
    - removed HB_LIBDO() PRG function. If someone used it then please
      use DO() instead
    + added new PRG function:
         HB_LIBGETFUNSYM( <pLibHandle>, <cFuncName> ) -> <sFuncSym> | NIL
      It works in similar way to HB_HRBGETFUNSYM() but it looks for
      PRG function in given library. It tries to find public function
      and if such function does not exists it looks for first static one.
      <pLibHandle> is library handle returned by HB_LIBLOAD()
      <cFuncName> is PRG function name.
      <sFuncSym> is symbol of located function
      If function can be found HB_LIBGETFUNSYM() returns NIL.
      Warning: this function returns only symbols for functions registered
               in HVM when library was loaded. It will not return symbols
               for functions written in C and not explicitly registered
               using own symbol table.
2010-02-15 09:05:58 +00:00
Pritpal Bedi
78ddb279db 2010-02-14 17:34 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/wvgscrlb.prg
    ! Defined method :configure() as VIRTUAL.

  * contrib/hbqt/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
    + Added class variable :block which can be set with qEdit:hbSetEventBlock( bBlock ).
      I did not set it via the constructor as it is implementation specific.
      The goal was to capture mouse or other events which are consumed by 
      parent class itself and are not forwarded to the widget. At present 
      it is used to inform double-click event to qEdit and is scheduled 
      to be extended.

  * contrib/hbqt/hbqt_misc.prg
    + Added method :from(), synonymous to :configure() to avoid grasping confusion.
      Now both syntaxes are supported:
        qCursor := QTextCursor():configure( qEdit:textCursor() )
        qCursor := QTextCursor():from( qEdit:textCursor() )

  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg

    + Project Management: enabled "Launch Parameters" which are supplied to the 
                            executable if "Launch..." is selected with build 
                            or otherwise.
                        : supressed auto expansion of "Current Project" at startup.
                            Was a constant cause of annoyance if the project tree 
                            been fairly large.
    + Docking Windows: reworked to occupy proper corners. 
                         Please delete idesettings.ini.

    ! Find_Replace Dialog: set to find from begining if "Find What" is changed.

    ! Code Skeletons: fixed to not append blank lines while called.
                    : selection menu appears at the current cursor coordinates.

    + Editor: double-click on some word place the selection in copy buffer in case 
                that word is selected. This feature I always wished-for in xMate.

    + Editor: highly .prg code suited indentation engine. It comprise so many 
                factors to explain. Please test. I feel you will be really happy.
                Also let me know what else can be implemented. Code is now 
                under my grasp and probably more ideas are already building up.
2010-02-15 02:15:09 +00:00
Viktor Szakats
2f5b638242 2010-02-14 21:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/tests/testdll1.prg
    + Displaying success/failure.

  * contrib/hbwin/win_dllf.prg
    % Using hashes.
2010-02-14 21:00:34 +00:00
Viktor Szakats
45ff380f71 2010-02-14 15:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbdyn.c
    % Minor cleanup.

  * contrib/hbwin/win_dllf.prg
    ! Fixed to be case-insentitive for keywords.
2010-02-14 14:33:27 +00:00
Przemyslaw Czerpak
cdd7cd30db 2010-02-14 15:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwince.h
    * redirect GetProcAddress() to GetProcAddressA() in WinCE builds.
      ASCII version of GetProcAddress() is supported by WinCE 3.0 and
      later versions.

  * harbour/include/hbdefs.h
    - removed HBTEXT() macro

  * harbour/src/common/hbver.c
  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/disksphb.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/src/vm/extrap.c
  * harbour/src/vm/maindllp/dllpcode.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtwvg/wvgwin.c
  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/axcore.c
  * harbour/contrib/hbwin/mapi.c
  * harbour/contrib/hbwin/win_prn2.c
  * harbour/contrib/hbwin/win_prn3.c
  * harbour/contrib/hbwin/wapi_shellapi.c
    * eliminated HBTEXT() macro

  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/disksphb.c
  * harbour/contrib/hbwin/wapi_winbase.c
    % optimized GetProcAddress() calls to store function addresses
      in static variables
2010-02-14 14:18:13 +00:00
Viktor Szakats
28df65d9b9 2010-02-14 15:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbdyn.c
    ! Fixed handling of HB_DYN_ENC_RAW and HB_DYN_CTYPE_CHAR_UNSIGNED
      buffer handling.

  * contrib/hbwin/tests/testdll1.prg
    + Added new test.
    ! Minor cleanup to prev tests.

  * contrib/hbwin/Makefile
  + contrib/hbwin/win_dllf.prg
    + Added WIN_DLLCALLFOXPRO( <cDeclareCommand>[, <parameters...> ] ) -> <xResult>
      where <cDeclareCommand> is a valid Visual FoxPro declare command:

        "DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]
           [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]"

      See more here:
         http://msdn.microsoft.com/en-us/library/ydcf39aa(VS.80).aspx

  * contrib/hbwin/Makefile
  - contrib/hbwin/win_dll.c
  + contrib/hbwin/win_dllc.c
    * Renamed.
2010-02-14 14:12:39 +00:00
Viktor Szakats
5dd43f4626 2010-02-14 13:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/achoice.prg
    ! Fixed/added cursor positioning to resemble to Clipper.

  * tests/ac_test.prg
    + Shows row/col when entering callback function.

  * contrib/hbfimage/fi_winfu.c
  * contrib/hbfimage/fi_wrp.c
    * Formatting.

  * contrib/hbwin/hbdyn.c
    - Deleted recently added, but finally unused union member.
2010-02-14 12:58:20 +00:00
Viktor Szakats
eae088abe3 2010-02-14 13:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
    + Added more description to WIN_DLLCALL() function usage.

  * contrib/hbwin/hbdyn.c
    + Type conversion fixes after actual testing.
      Now everything should work except float parameter passing
      on x64 and passing/receiving unsigned longlongs to/from .dlls
      on both x64/x86. I couldn't found how to interact properly
      with HVM in this case.
      Please review remaining TOFIXes.

  + contrib/hbwin/tests/testdll1.prg
  + contrib/hbwin/tests/testdll.c
    + Added code to test parameter passing.

  * contrib/hbwin/legacycd.c
  * contrib/hbwin/win_dll.c
    + Forcing stdcall calling convention. (it's the default yet,
      but this may change to cdecl).

  * contrib/hbwin/win_dll.c
    * bUNICODE -> bWIDE.

  * contrib/hbwin/hbdyn.ch
    + Added comment.

  * include/hbdefs.h
    * Typo in comment.

  * contrib/hbwin/Makefile
    ! Added missing hbdyn.h.

  * utils/hbmk2/hbmk2.prg
    ! Fixed to never add double backslash to output dir.
2010-02-14 12:36:10 +00:00
Przemyslaw Czerpak
edcea16331 2010-02-13 23:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/wapi_winbase.c
    ! fixed WAPI_GETPROCADDRESS() to work in WinCE builds
      (missing in previous ChangeLog entry)

  * harbour/contrib/hbwin/wapi_winbase.c
    ! cleaned library handle usage in WAPI_GETLONGPATHNAME()

  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/wapi_winbase_mutex.c
    * added small description for few functions excluded by
      HB_OS_WIN_CE macro.
2010-02-13 22:16:03 +00:00
Viktor Szakats
38a295bf63 2010-02-13 22:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbdyn.c
    ! Fixed to honor length when returning HB_DYN_CTYPE_CHAR_UNSIGNED_PTR 
      by reference.
2010-02-13 21:42:06 +00:00
Viktor Szakats
d702758a53 2010-02-13 20:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbdyn.h
  * contrib/hbwin/hbdyn.ch
    * Cleanup in comments.
2010-02-13 19:53:02 +00:00
Viktor Szakats
d7de2e2942 2010-02-13 20:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/hbdyn.h
  + contrib/hbwin/hbdyn.ch
  + contrib/hbwin/hbdyn.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_dllx.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/tests/testdll.prg
    + Separated OS-independendent dynamic call support from Windows-specific parts.
    * Changed names to reflect that.
2010-02-13 19:51:13 +00:00
Viktor Szakats
cbcb76c456 2010-02-13 20:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    % Final planned step to remove a remaining redundancy.
    % Minor optimization.
2010-02-13 19:22:06 +00:00
Viktor Szakats
ce626939c8 2010-02-13 20:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    * Changed names to be OS neutral.
    ; Low-level dynamic lib call support should now work on
      all x86 and x64 platforms, possibly also on ARM
      (and maybe even more). In this sense, it should not
      be placed in hbwin lib.
2010-02-13 19:08:16 +00:00
Viktor Szakats
a6368bc056 2010-02-13 18:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/win_dllx.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/tests/testdll.prg
    + Reworked WIN_DLLCALL() and low-level hbwin_dllCall() interfaces.
    * WIN_DLLCALL() should be called as follows:

        WIN_DLLCALL( <pFunction | <aFunction>, ... ) -> <xResult>

        where <aFunction> can be:
           { <cFunction> | <nFunction>, <cLibrary> | <pLibrary> [, <nFuncFlags> [, <nArgFlags1>, ..., <nArgFlagsn> ]] }
           { <pFunction> [, <nFuncFlags> [, <nArgFlags1>, ..., <nArgFlagsn> ]] }

      With above API it's possible to access all low-level options and
      merge all possible call types in one call. If passing function ordinal
      or name, it will also autodetect UNICODE mode. Autodetection turns 
      on UNICODE mode for WinCE permanently and for functions ending with 'W'.

    * Call convention, C type and unicode flags are now merged into one
      callflag value.
    * Unicode flag extended to RAW, ASCII, UTF8, UTF16.
    + Added support for UTF-8 and forced raw encoding for char pointer types.
    * GETPROCADDRESS() finally moved to legacy source.

  * contrib/hbsms/hbsms.prg
    ! Fixed SMS_SEND() to return numeric value when port couldn't
      be opened.
2010-02-13 17:32:18 +00:00
Przemyslaw Czerpak
dabe6901a6 2010-02-13 15:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    ! fixed typo

  * harbour/contrib/hbwin/wapi_winbase.c
    ! fixed WAPI_GETLONGPATHNAME() to compile and work with older header
      files and windows versions. When GetLongPathName() is not available
      then this function is redirected to GetShortPathName()
2010-02-13 14:57:10 +00:00
Viktor Szakats
9f9ec6db78 2010-02-13 13:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    % Further simplification of internal structures.
    + Added provisions to control UNICODE conversion on a per argument basis.
2010-02-13 12:53:24 +00:00
Viktor Szakats
3d0f0e36a9 2010-02-13 13:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    % Optimization to parameter type storage.
2010-02-13 12:37:19 +00:00
Viktor Szakats
fe1cf38e76 2010-02-13 13:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    ! Fixed to unshare all HVM strings before passing them to callee.

  * contrib/hbwin/tests/testdll.prg
    ! Deleted two commented test call, which corrupted memory anyway 
      due to too small buffer passed to low-level function.
2010-02-13 12:12:35 +00:00
Pritpal Bedi
57efc2cee1 2010-02-13 03:07 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
  * contrib/hbqt/qtgui/THBQPlainTextEdit.prg
  * contrib/hbqt/qth/HBQPlainTextEdit.qth

  * contrib/hbide/resources/skeletons.ui
  * contrib/hbide/resources/skeletons.uic

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesaveload.prg

    + Implemented "Invert Case" feature.

    % All operations applied on selected text do not remove selections.
      However "undo/redo" does not respect selections.

    + Added <Docks> main-menu option which presents toggling feature
      for all implemented docked windows. It facilitates clubbing
      all toggle actions at one convenient place.

    + Implemented "Code Skeletons". 
        How to write
        ============
          * Click <Docks> main-menu option and select <Code Skeletons>.
          * "Code Skeletons" window will open at the right-docking area.
          * Close other docks if open to make room for its components.
          * Click <Add New> button, a dialog will appear requesting a "Name".
          * Enter recognizable name for this skeleton, i.e., "DO CASE 3", 
            where "3" will represent that this case statement contains 3
            iterations of CASE statement. It is just an example, follow 
            your way of recognitions.
          * After you click <ok> the name will appear in "Identity" list-box.
          * Start writing in "Code Snippet" editor, like:
              DO CASE
              CASE x == 
              CASE x ==
              CASE x ==
              ENDCASE
          * After you are done with it, click <Update>.
          * Repeat the process for some other skeletons.
          * Do not forget to click <Update> even after slightest modification.
            This will ensure that your skeleton is always in order.
          * If you wish to change the name, click on that "Name" in 
            "Identity" list-box and click <Rename>, follow next process.
            Click <Update> to save permanently.
          * <Delete> is not working yet.
          * Navigate the skeletons by clicking on the prompts; you will
            find the attached code in the editor below.

        How to Call
        ===========
          * While in the editor tab, position your editing cursor at 
            desired column.
          * Press Ctrl+K, a context menu will appear near left-upper part
            of the editing tab containing all skeletons you wrote.
          * Use arrow-up/down keys to desired skeleton and press <Enter>.
          * The code skeleton will be inserted in the source aligned 
            to the column you started with. The cursor will be anchored
            on the same place.
          * Alternativly you can use mouse, but keyboard navigation is 
            simple in this context.
          * Note that alignment and indent of inserted code skeleton is 
            perfect to starting column.

        Note: Your suggessions are welcome to enhance this feature.
2010-02-13 11:44:30 +00:00
Przemyslaw Czerpak
444ba0ca9f 2010-02-13 12:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/strapi.c
    ! fixed  hb_[w]strunshare() functions to always clone writable
      buffers shared by two or more different objects or items.
2010-02-13 11:36:11 +00:00
Viktor Szakats
7c2f63f8d6 2010-02-13 11:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/wapi_winbase.c
    + Added WAPI_GETLONGPATHNAME() (same code as the short version)
2010-02-13 10:42:35 +00:00
Viktor Szakats
813fde7560 2010-02-13 11:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_dll.c
    % Optimization steps.
    * Syncing between win64/win32 sections.

  * contrib/hbwin/tests/testdll.prg
    + Added new tests, but they GPF due to corrupted internals, 
      so they are commented for now.
2010-02-13 10:30:15 +00:00
Pritpal Bedi
f61c9cdb4e 2010-02-12 18:41 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/generator/qt45.qtp
  * contrib/hbqt/hbqt.h
  * contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/qtgui/filelist.mk
  + contrib/hbqt/qtgui/QPlainTextDocumentLayout.cpp
  + contrib/hbqt/qtgui/TQPlainTextDocumentLayout.prg
  + contrib/hbqt/qth/QPlainTextDocumentLayout.qth
    + Added one more class.

  + contrib/hbide/resources/skeletons.ui
  + contrib/hbide/resources/skeletons.uic
    + Added widget definition to hold user input for "code skeletons".

  * contrib/hbide/hbide.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/idethemes.prg
    + Prepared to fetch "Code Skeletons" from the user which will be 
      made available to be inserted into the source being edited. 
      To have a preview as to what will go inside the implementation,
      click on "{}" icon on the toolbar.
        
    ! Fixed not to load whole document and highlight when hbIDE is 
      terminated. This reduces termination time to bare minimum.
    
    + Implemented "Convert Single Quotes to Double" and its reverse,
      accessible from <Edit><Block...> main-menu options. First select the 
      part of the source you want to apply these options, then click
      on relevant menu option. A toolbar implementation will be better
      which I am looking into how it can be presented in an aesthetic way.

    ! Fixed many more artifacts.

    ; NOTE: Regression is possible, please report issues, if any.
2010-02-13 03:00:31 +00:00
Przemyslaw Czerpak
34158f535b 2010-02-13 02:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/hbwin.ch
    + added WIN_OFN_* constants

  * harbour/contrib/hbwin/win_dlg.c
    + added WIN_GETOPENFILENAME( [[@]<nFlags>], [<cTitle>], ;
                                 [<cInitDir>], [<cDefExt>], ;
                                 [<acFilter>], [[@]<nFilterIndex>], ;
                                 [<nBufferSize>] )
      -> <cFilePath> | <cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] | ""
    + added WIN_GETSAFEFILENAME( [[@]<nFlags>], [<cTitle>], ;
                                 [<cInitDir>], [<cDefExt>], ;
                                 [<acFilter>], [[@]<nFilterIndex>], ;
                                 [<nBufferSize>] )
      -> <cFilePath> | <cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] | ""

  * harbour/contrib/hbwin/wapi_winbase.c
    * cleaned WAPI_GETSHORTNAME() function parameter to strictly respect
      the following parameters syntax.
         WAPI_GETSHORTPATHNAME( <cLongName> [, @<shortName> [, <nMaxSize> ] ] )
            -> < nShortLenght>
    % eliminate double call to GetShortPathName() in WAPI_GETSHORTNAME()
      when all parameters are given or second one is not passed by reference
    % try to use static buffer to eliminate double call to GetShortPathName()
      when WAPI_GETSHORTNAME() is called without 3-rd parameter
2010-02-13 01:38:42 +00:00
Viktor Szakats
b41aa9e908 2010-02-12 21:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    * HB_BYTE made a synonym for HB_UCHAR.
      HB_BYTE is only there for convenience, HB_UCHAR is recommended
      for unsigned byte streams.
    * HB_U8 now based on HB_UCHAR.
    ! Fixed UINT64/INT64 left defined in some cases.

  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/tests/testdll.prg
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/legacycd.c
    + Added LONGLONG C types.
    + Added support for user-specifiable parameter types.
      This works now in low-level C dll call function and also
      on high level in HB_DLLCALL().
    + Added support for LONGLONG/int64 integers.
    + Added support for raw strings. (no UNICODE or codepage
      conversion).
    ! Fixed typo in iRetTypeRaw assigment.
    + Added one new test for param type spec test. (pretty bare)
    ! Fixed WAPI_GETPROCADDRESS() to GETPROCADDRESS(). Latter
      has some extra features so we still need it.
    * GETPROCADDRESS() moved back to non-compatibility.
    ; Please review the code. There are some integer conversion
      which might not be proper (& 0xFFFF).

  * utils/hbmk2/hbmk2.prg
    ! Typo in recently added help text.

  * contrib/Makefile
  - contrib/hbbmcdx
  + contrib/rddbmcdx
  * contrib/rddbmcdx/bmdbfcdx.c
  * contrib/rddbmcdx/Makefile
    * Renamed hbbmcdx to rddbmcdx.
    * More cleanup to RDD code. (sync with rddcdx, deleted
      unnecessary lines)
    - Deleted "turbo" functionality. BM_TURBO() is now a dummy.
      AFAIR this isn't safe, and even if it is it should be
      implemented differently, not as a static variable.
2010-02-12 20:02:34 +00:00
Viktor Szakats
dd737b5c65 2010-02-12 12:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/win_dll.c
  + contrib/hbwin/win_dllx.c
  * contrib/hbwin/legacycd.c
    + Moved LOADLIBRARY(), FREELIBRARY() and GETPROCADDRESS() to legacy source.
    + Moved Xbase++ compatibel DLL interface to separate Xbase++ specific file.
    ; From now on the recommended native DLL interface for Harbour apps is:
        WAPI_LOADLIBRARY(), WAPI_GETPROCADDRESS(), WAPI_FREELIBRARY() and
        WIN_DLLCALL()
    ; TODO: Solve GC collected HMODULE in above WAPI LIB handling functions.
    ; TODO: Clean HB_LIB*() vs. WAPI LIB handling confusion.

  * contrib/hbwin/tests/testdll.prg
    * Changed to use WAPI_LOADLIBRARY()/WAPI_FREELIBRARY()
    ! Fixed one remaining CALLDLLTYPED() call.
    - Deleted no more valid comment about not-working libcurl .dll call.
      Now it works.
2010-02-12 11:50:18 +00:00
Viktor Szakats
8a2c2d71bd 2010-02-12 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbwin.ch
    + Added HB_WIN_DLL_CALLCONV_* macros. (so far only privately defined inside .c code)
    + Added HB_WIN_DLL_CTYPE_* macros. (so far only privately defined inside .c code)
    + Reworked HB_WIN_DLL_CTYPE_* macro values. INCOMPATIBLE. Since they weren't
      previously documented, this should not be a breakage, pls report it if this is
      a problem.
    ! Fixed .ch syntax to also work in .c files.

  * contrib/hbwin/hbwin.h
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/tests/testdll.prg
    * Using hbwin.ch for callconv and C type constants.
    + Added public low-level interface: hbwin_dllCall().
      This has provision for exact parameter type specification.
    * Changed Harbour level functions to use new public
      interface hbwin_dllCall().
    + Moved CALLDLL(), CALLDLLBOOL(), CALLDLLTYPED() to legacy source.
    * HB_DLLEXEC structure made private to XPP compatibility
      section.
    + Added new WIN_DLLCALL() API. This can replace all old CALL*()
      function and give more flexibility. Its first parameter is an
      optional array, which can specify calling convention (it was
      fixed in old implementation), return type and UNICODE swicth,
      plus it has provision to specify parameter types, too.
    + Changed test app to use new WIN_DLLCALL() API.
    * hb_getprocaddress() made public (but not exported) and
      renamed to hbwin_getprocaddress().

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
    - Deleted hack to always add frame buffer for hbwin.
      It's not necessary anymore.
2010-02-12 11:27:02 +00:00