Commit Graph

64 Commits

Author SHA1 Message Date
Viktor Szakats
b88202cabe 2010-06-15 18:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * config/global.mk
  * config/detfun.mk
  * config/detect.mk
  * external/sqlite3/Makefile
  * external/png/Makefile
  * external/jpeg/Makefile
  * external/bzip2/Makefile
  * external/libhpdf/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbmzip/Makefile
  * contrib/hbbz2/Makefile
  * contrib/hbhpdf/Makefile
  * contrib/sddsqlt3/Makefile
  * contrib/hbwin/Makefile
    + Added HB_ROOT variable which can be used to specify Harbour
      source tree root as an absolute directory, when using
      older than 3.81 GNU Make version (f.e. on QNX).
    + Changed the way locally hosted source directories are
      specified for detection function, in order to support
      HB_ROOT functionality.
2010-06-15 16:44:38 +00:00
Przemyslaw Czerpak
77ae9b90ec 2010-05-26 00:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/Makefile
  + harbour/contrib/hbwin/hbolesrv.c
    + added inproc OLE server implementation. It allows to create OLE/ACTIVEX
      COM server in Harbour. Such OLE server allows can be used by programs
      written in any languages supporting OLE automation (also in other
      Harbour applications)
      User ole server code should be linked as DLL which later can be
      register in MS-Windows by regsvr32.exe program, i.e.:
         regsvr32 myolesrv.dll
      The OLE server code should contain DLLMAIN() PRG function which
      is executed just after loading OLE inproc DLL server as server from
      other application and also by regsrv32.exe during registration and
      unregistration procedure. It has to initialize at least OLE server
      ID and name usinf WIN_OleServerInit().
    + added new PRG function which intitialize OLE server:
      WIN_OleServerInit( <cClassID>, <cServerName>, ;
                         [ <hAction> | <oAction> | <bAction> | <sAction> ], ;
                         [ <lHashClone> | <lAcceptAll> ] ) -> <lServerActive>
      <cClassID> is registered OLE server class GUID

      <cServerName> is OLE server class name

      <hAction> is optional parameter with hash array containing messages
      and instance variables used by OLE server. The keys in hash array
      are strings with message names and values are actions. Codeblock
      and symbol items means that given message is a method call and
      any other value means that it's variable.
      By default the same hash array is shared between all objects
      created by registered server. It's important when hash array
      contains values which are neither codeblock nor symbol items
      so they are not used as method but rather as instance variables
      because such instance variables are shared between OLE objects.
      Setting 4-th parameter <lHashClone> to .T. causes that each
      objects receives it's own copy of <hAction> item so instance
      variables inside hash array are also local to OLE object.
      Alternatively programmer can use <bAction> or <sAction> to create
      seprate copy of hash array for each object, i.e.:
         bAction := {|| hb_hClone( hValue ) }
      When hash array contains symbol item (@funcName()) then when it's
      executed by OLE object message it's possible to access the hash
      array bound with given OLE object using QSelf() function. It maybe
      useful if hash array contains instance variables and programmer
      wants to access them.
      Please remember that using hash array which was initialized to keep
      original assign order by HB_HKEEPORDER( <hAction>, .T. ) before
      adding its items you can define strict message numbers (DISPIDs), i.e.:
         hAction := {=>}
         HB_HKEEPORDER( hAction, .T. )
         hAction[ "OPEN" ]  := @myole_open()     // DISPID=1
         hAction[ "CLOSE" ] := @myole_close()    // DISPID=2
         hAction[ "SAVE" ]  := @myole_save()     // DISPID=3
         hAction[ "LOAD" ]  := @myole_load()     // DISPID=4
         hAction[ "PRINT" ] := @myole_print()    // DISPID=5
      (see example in olesrv2.prg)

      <oAction> is optional parameter with Harbour object which is used
      as base for all newly created OLE objects. All messages (method and
      instance variables) supported explicitly by <oAction> object (except
      ONERROR message redirecting) are inherited by OLE objects. Each
      newly created OLE object uses the same <oAction> object so its
      instance variables are shared between all of them. If programmer
      wants to create separate Harbour object for each OLE object then
      he should use <bAction> or <sAction>, i.e.:
            bAction := {|| myClass():new() }

      <bAction> is optional parameter with codeblock executed when new
      OLE object is created. It should return hash array or Harbour object
      which will be used as base for newly created OLE object.

      <sAction> is optional parameter with function symbol. This function
      is executed when new OLE object is created and should return hash
      array or Harbour object which is used as base for newly created
      OLE object.

      If the 3-rd parameter is <oAction>, <bAction> or <sAction> then
      it's possible to also set 4-th parameter <lAcceptAll> to .T. and
      in such case <xAction> parameter is used in different way. Newly
      created OLE object accepts any massage names invoking for each
      of them EVAL() message which is sent to <xAction> with OLE message
      name inserted as the 1-st item to OLE object parameters.
      It allows to create OLE server which will accept unknown messages
      redirecting them to some other code, i.e.:
         if netio_connect( cServer,,, cPasswd )
            WIN_OleServerInit( cClassID, cServerName, @netio_funcExec(), .T. )
         endif
      initialize OLE server which redirects all messages to default netio
      connection establish by netio_connect().

      If 3-rd parameter is not given then all HVM functions becomes
      OLE methods and HVM memvars (public and private variables) are
      OLE object instance variables so they are shared with all OLE
      objects created by this interface. It works just like xHarbour.com
      OLE server described at
      http://xharbour.com/index.asp?page=add_on_oleserver&show_sub=7&show_i=1

    ; TODO: add support for MT RPC servers. Current implementation cannot
            be safely used in MT programs creating OLE objects and executing
            their methods simultaneously in different threads without
            additional user code which will serialize these operations.
    ; TODO: replace message handler API in WIN_AxGetControl()/
            __AxRegisterHandler() which uses only fixed method IDs
            and do not support method names with above one so user
            can easy create activex controls which support message
            names. This modificaiton will force updating user and 3-rd
            party code but IMO should be done. Current interface is
            simply too much limited to keep it.
    ; Possible TODO: add support for user defined fixed message numbers
                     (DISPIDs) which are not continuous small numbers so
                     users cannot easy use hash arrays with strict order.
                     Is such functionality necessary? Can someone with
                     ActiveX experience say sth about it?
                     Above implementation has undocumented feature:
                     it supports hash arrays with keys using numbers only
                     which can be used like in __AxRegisterHandler() but
                     I haven't decided yet I should keep, extend or remove
                     such functionality.

    Please make real life test.
    I do not have any practice with MS-Windows and OLE and most of above
    code I wrote using only documentation so I'm very interesting in real
    test results and user opinions about it. If some important functionality
    is missing then please inform me about it.
    BTW There are some 3-rd party activex implementation for [x]Harbour, i.e.
    xharbour.com or FiveWin ones. Maybe someone familiar with them can create
    PRG compatibility layer for Harbour. I cannot do that myself because I
    do not know that products and their PRG API used in OLE/COM/ActiveX
    implementations but if someone can describe it then I can help in such
    implementation.

  + harbour/contrib/hbwin/hbolesrv.def
  + harbour/contrib/hbwin/hbolesrv-mgw.def
  + harbour/contrib/hbwin/hbolesrv-ow.def
    + added .DEF link files which are necessary to correctly export
      inproc OLE server DLL functions. It's possible that other compilers
      or even different versions of the same compilers may use different
      a little bit different .DEF files. I tested above with BCC5.5,
      MinGW 3.4.5 and OpenWatcom 1.8.

  + harbour/contrib/hbwin/test/olesrv1.prg
  + harbour/contrib/hbwin/test/olesrv1.hbp
  + harbour/contrib/hbwin/test/oletst1.prg
  + harbour/contrib/hbwin/test/oletst1.hbp
    + added example of NETIO-RPC OLE server code with Harbour (PRG) client.
      This server redirects all messages sent to its OLE objects to remote
      HBNETIO server as function calls. It understands the following
      messages:
         CONNECT()    - creates connection to the server, parameters like in
                        NETIO_CONNECT() and NETIO_GETCONNECTION() functions
         DISCONNECT() - closes current connection
         PROCEXISTS() - works like NETIO_PROCEXISTS()
         PROCEXEC()   - works like NETIO_PROCEXEC()
         PROCEXECW()  - works like NETIO_PROCEXECW()
         FUNCEXEC()   - works like NETIO_FUNCEXEC()
      All other messages are redirected directly to RPS server as function
      calls.
      CONNECT() message should be executed by client to create
      connection to the server. Each NETIO-RPC OLE object uses its own
      connection which should be initialized. If CONNECT() is executed
      more then once the current connection is closed.
      DISCONNECT() is executed automatically when OLE object is destroyed
      so it's not necessary to call it explicitly.
      Please use hbmk2 and olesrv1.hbp to compile OLE server. OLE inproc
      servers have to export some DLL entry functions which are defined
      in .def files which have to be passed to linker.
      Before client code can be tested the server has to be registered.
      The server can be registered in given MS-Windows system using
      regsvr32.exe command. To register the server use:
         regsvr32 olesrv1.dll
      and to unregister:
         regsvr32 /u olesrv1.dll

  + harbour/contrib/hbwin/test/olesrv2.prg
  + harbour/contrib/hbwin/test/olesrv2.hbp
  + harbour/contrib/hbwin/test/oletst2.prg
  + harbour/contrib/hbwin/test/oletst2.hbp
    + added very simple example of OLE server using hash array with
      strict item order (associative hash array) to define OLE objects
      with fixed message numbers (DISPIDs)
      Remember about registering the server by 'regsvr32 olesrv2.dll'

  + harbour/contrib/hbwin/test/olesrv3.prg
  + harbour/contrib/hbwin/test/olesrv3.hbp
  + harbour/contrib/hbwin/test/oletst3.prg
  + harbour/contrib/hbwin/test/oletst3.hbp
  + harbour/contrib/hbwin/test/oletst3.bas
    + added example of OLE server code with Harbour (PRG)
      and Visual Basic (BAS) clients.
      This server redirects all messages sent to its OLE objects to HVM
      functions and messages to HVM memver (public and private) variables
      This server should work as xHarbour.com OLE servers described at:
      http://xharbour.com/index.asp?page=add_on_oleserver&show_sub=7&show_i=1
      The server and clients code are nearly the same so users can easy
      compare them.
      Remember about registering the server by 'regsvr32 olesrv2.dll'
2010-05-25 22:04:04 +00:00
Viktor Szakats
5f14347dd5 2010-05-16 00:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  - contrib/hbwin/win_srv.c
  + contrib/hbwin/win_svc.c
  - contrib/hbwin/tests/testsrv.prg
  + contrib/hbwin/tests/testsvc.prg
    * Renamed files ('svc' slightly better describes services
      than 'srv' which can be 'server').
2010-05-15 22:58:07 +00:00
Jose Luis Capel
b8324adfec 2010-05-15 20:02 UTC+0200 José Luis Capel (jlcapel at hotmail . com)
+ contrib/hbwin/win_srv.c
   + contrib/hbwin/tests/testsrv.prg
   * contrib/hbwin/hbwin.ch
   * contrib/hbwin/Makefile
     + Basical support for running a harbour application as a windows server.  
       See tests/testsrv.prg.
2010-05-15 18:25:31 +00:00
Viktor Szakats
df8fa6e078 2010-04-29 08:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_osc.c
    + Added WIN_OSISWINXPORLATER(). Following Peter Rees in xhb.

  * contrib/xhb/Makefile
  + contrib/xhb/xwin_reg.c
  + contrib/xhb/xwin_ver.c
  * contrib/hbwin/Makefile
  - contrib/hbwin/legacycr.c
  - contrib/hbwin/legacycv.c
    ! Moved these legacy Windows functions to xhb lib from hbwin
      lib. This way we don't have to delete them after next
      release, plus they provide better compatibility as they are
      now also present in non-win builds (returning dummy values),
      just like in xhb.
    + Added OS_ISWINXP_OR_LATER() function.
2010-04-29 06:46:25 +00:00
Viktor Szakats
ab0e53cbe1 2010-04-22 18:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/gtwvg/Makefile
  * contrib/hbwin/Makefile
    + Enabled WIN32_LEAN_AND_MEAN mode.

  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/win_shell.c
    ! Fixed to build in WIN32_LEAN_AND_MEAN mode.
2010-04-22 16:30:14 +00:00
Viktor Szakats
62ba429c07 2010-04-22 13:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbtrace.c
  * INSTALL
    + Added trace output support to syslog() for *nix systems
      (except watcom builds).
      It's enabled by HB_TR_SYSOUT=yes envvar, which now
      supercedes previous HB_TR_WINOUT setting.
      Windows users pls change HB_TR_WINOUT to HB_TR_SYSOUT.
    ! Fixed potential problem in HB_TR_WINOUT code, where
      the same vararg holder variable was used multiple
      times. On *nix this caused GPF. The safest is to make
      a copy of it for each usage.

  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/Makefile
  + contrib/hbwin/tests/testevnt.prg
  + contrib/hbwin/win_evnt.c
    + Added function to add a new event to the Windows event log:
        WIN_REPORTEVENT( [<cServerName]>, <cEventLog>,
                             <nType>, [<nCategory>], [<nEventID>],
                                <cString> | <acString>, [<cRawData>] ) -> <lSuccess>

  * contrib/hbwin/win_prn2.c
    ! Fixed wce warning.

  * utils/hbmk2/examples/contribf.hbc
  * utils/hbmk2/examples/contrib.hbc
    + Added minizip lib.
2010-04-22 11:49:30 +00:00
Viktor Szakats
7260871bdf 2010-03-23 00:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbwin.ch
  * contrib/hbwin/Makefile
  + contrib/hbwin/wapi_mmsystem.c
    + Added WAPI_PLAYSOUND() function.

  * bin/postinst.prg
  * package/winuni/mpkg_win_uni_extra_copy.bat
    - Deleted hacks dealing with sub-contribs inside contribs.
      (this breaks .hbc autofind for sdd* libs and
      won't anymore include sdd tests and .hbc files in
      windows unified distro)

  * contrib/rddsql/sddmy/sddmy.c
  * contrib/rddsql/sddmy/Makefile
  * contrib/rddsql/sddsqlt3/sddsqlt3.c
  * contrib/rddsql/sddsqlt3/Makefile
  * contrib/rddsql/sddpg/sddpg.c
  * contrib/rddsql/sddpg/Makefile
  * contrib/rddsql/sddfb/sddfb.c
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/sddodbc.c
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddsql/sddoci/sddoci.c
  * contrib/rddsql/sddoci/Makefile
    ! Fixed to use standard method to refer to dependent
      rddsql lib.
2010-03-23 00:00:13 +00:00
Przemyslaw Czerpak
5e89ea04e5 2010-03-15 23:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/wapi_winuser.c
    + added new PRG function:
         WAPI_LoadImage( [<hInstance>], <cName>, [<nType>],
                         [<nWidth>], [<nHeight>], [<nFlags>] ) -> <hImage>

  * harbour/contrib/hbwin/Makefile
  + harbour/contrib/hbwin/win_shell.c
    + added new PRG function:
         WIN_ShellNotifyIcon( [<hWnd>], [<nUID>], [<nMessage>], [<hIcon>],
                              [<cTooltip>], [<lAddDel>] ) -> <lOK>

  * harbour/contrib/hbwin/hbwin.ch
    + added new constants for WAPI_LoadImage() and WIN_ShellNotifyIcon()
2010-03-15 22:57:31 +00:00
Viktor Szakats
66b730d32d 2010-02-26 10:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/hbfoxpro/dll.prg
  + contrib/hbfoxpro/Makefile
  * contrib/hbwin/Makefile
  - contrib/hbwin/win_dllf.prg
    + Moved FoxPro-like dynamic call function to
      hbfoxpro lib.
      Renamed it to FOX___DYNCALL() until we find
      it a better name, or someone will suggest
      how this is best presented for actual FoxPro
      users.

  * contrib/Makefile
  * utils/hbmk2/examples/contribf.hbc
    + Enabled hbfoxpro lib.

  * config/wce/global.mk
  * config/win/global.mk
    * Formatting.
2010-02-26 09:57:39 +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
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
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
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
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
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
5cfcb4f323 2010-02-09 03:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/Makefile
  * src/common/hbwince.c
  + src/common/hbwin.c
    ! Moved Windows UNICODE helper function into new source,
      leaving WinCE API local emulation into separate source file.

  * include/hbwince.h
    + Now automatically includes windows.h. (since it depends on it)

  * include/hbdefs.h
    - Deleted HB_OS_WIN_USED autodetection. Not needed anymore.
    ! Fixed to not include hbwince.h anymore. It should be included
      directly from source files, where needed.

  * include/hbdefs.h
  * contrib/hbodbc/odbc.c
  * contrib/rddsql/sddodbc/odbcdd.c
    + Always defining HB_TCHAR_*() macros. They will be dummies
      in non-Windows or non-UNICODE builds.

  * include/clipdefs.h
    ! Legacy Clipper types moved to the bottom, because it's
      no longer true that hbapi.h defines their dependent types
      (our legacy ones).

  * contrib/hbwin/win_bmpd.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_alloc.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/mapi.c
  * contrib/hbwin/wapi_wingdi_font.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/wce_simc.c
  * contrib/hbwin/wapi_winnls.c
  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/Makefile
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/wce_smsc.c
  * contrib/hbwin/wapi_err.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbwin/legacyco.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/wapi_winbase_mutex.c
    + Reworked the way windows.h is included and headers
      are organized. New types allow complete control and
      flexibility. Finally.

  * src/vm/mainwin.c
  * src/vm/maindll.c
  * src/vm/maindllh.c
  * src/vm/cmdarg.c
  * src/vm/maindllp.c
  * src/vm/task.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/thread.c
  * src/vm/hvmall.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbtrace.c
  * src/common/hbfsapi.c
  * src/common/hbdate.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/fstemp.c
  * src/rtl/gttone.c
  * src/rtl/fserr.c
  * src/rtl/filesys.c
  * src/rtl/lang.c
  * src/rtl/diskspac.c
  * src/rtl/console.c
  * src/rtl/cputime.c
  * src/rtl/gtclip.c
  * src/rtl/oemansi.c
  * src/rtl/disksphb.c
  * src/rtl/net.c
  * src/rtl/gtgui/gtgui.c
  * src/rtl/hbproces.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtkbstat.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/disk.c
  * contrib/hbodbc/odbc.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/xhberrc.c
  * contrib/xhb/filestat.c
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbqt/hbqt_base.cpp
  * contrib/hbnf/getenvrn.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddads/adsx.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/rddads/adsmgmnt.c
  * examples/hbapollo/apollo.c
    + HB_OS_WIN_USED trick replaced with direct windows.h
      inclusion, just like we do for all other OSes.
    + Also inclded hbwince.h in source files which required
      it. Please test it.

  * contrib/hbqt/gtqtc/gtqtc.cpp
    - Deleted commented code to not create false grep hits
      all the time.
2010-02-09 02:58:53 +00:00
Viktor Szakats
8615717cd2 2010-02-05 01:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
    * UINT -> unsigned int
    * Rename: bRead -> fRead, bResult -> fResult, usError -> nResult, uiResult -> nResult
    * Formatting.

  * include/hbapifs.h
  * src/rtl/filesys.c
  * src/rtl/philes.c
  * src/rtl/philesx.c
  * contrib/hbct/disk.c
  * contrib/xhb/xhbfunc.c
    * Drive letter type change from USHORT/BYTE to int.
    + Extra checks added to enforce positive value.
    % Optimized out fResult from hb_fsCurDirBuff(), plus related cleanups.
    ; Peer-review it please.

  * src/rtl/fstemp.c
    * Pacified warnings.

  * contrib/hbwin/Makefile
  + contrib/hbwin/wapi_wingdi_fontmem.c
    + Added WAPI_ADDFONTRESOURCEEX().
    + Added WAPI_REMOVEFONTRESOURCEEX().
2010-02-05 00:23:15 +00:00
Viktor Szakats
d7de620182 2010-01-26 17:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/win_bmp.c
  + contrib/hbwin/win_bmpd.c
  * contrib/hbwin/win_tprn.prg
  + contrib/hbwin/win_tbmp.prg
    + Moved WIN_BMP() class to separate source file.
    + Moved WIN_BITMAPDIMENSIONS() and its low-level support functions
      to separate source file, to avoid creating unwanted
      dependency to libpng.
    + Applied Xavi's patches to WIN_BMP().
      * Restored nError parameter for ::IsSupported()
      * ::LoadFile() now fills dimensions automatically.
      * ::Draw() 3rd dim array parameter replaced with nError.

  * contrib/hbwin/hbwapi.h
    + Added 'extern' keyword.
2010-01-26 16:27:27 +00:00
Viktor Szakats
8068520722 2010-01-25 05:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/hbwin.hbc
  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_tprn.prg
    + WIN_BITMAPDIMENSIONS(): Added PNG support.
      (in fact the internal function can also be used to validate
      .png files)
      Please review/test.
    + Added libpng dependency for hbwin lib. libpng requires 
      zlib, so that's also added, but it's required by core 
      already anyway.
      Please test cross-platform scenarios.
    * WIN_BITMAPISSUPPORTED(): Now simply returns numeric
      results, where zero is success. Same done to low level
      function.
2010-01-25 04:05:11 +00:00
Viktor Szakats
335e5179c0 2010-01-25 04:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/win_prn1.c
  + contrib/hbwin/win_bmp.c
    * Moved bitmap related functions to separate source file.

  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_tprn.prg
    * Renamed WIN_CHECKPRNDRVFORMAT() -> WIN_BITMAPISSUPPORTED()
    * WIN_BMP:CheckPrnDrvFormat() -> WIN_BMP:IsSupported()
2010-01-25 03:31:38 +00:00
Viktor Szakats
2e4a02bfd7 2010-01-21 11:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Documented minimum requirement of CEGCC 0.55 (mingwarm)

  * contrib/hbwin/hbwin.ch
    + Added WIN_*_PRECIS constants.
    + Added WIN_DT_* (WAPI_DRAWTEXT()) constants.

  * contrib/hbwin/Makefile
  + contrib/hbwin/win_dlg.c
    + Added WIN_PRINTDLGDC() printer dialog.
      Some ideas/lines taken from HWGUI project.

  * contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_wingdi.c
    + Added hbwapi_par_RECT() supporting both hash and array input.
    ! WAPI_CREATEFONT() fixed to use neutral defaults.
    ! WAPI_SELECTOBJECT() fixed two warnings.

  * contrib/hbwin/wapi_winuser.c
    + Added WAPI_DRAWTEXT().
2010-01-21 10:54:45 +00:00
Viktor Szakats
b1efdbe888 2010-01-20 16:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/wapi_wingdi.c
    ! Guarded for ! HB_OS_WIN_CE.
      (mingwarm compiles it, but poccarm doesn't)
      Maybe to focus on important things, we should drop
      POCC support altogether?

  * contrib/hbwin/win_tprn.prg
    * WIN_DELETEDC() calls deleted. 'hDC := NIL' is enough.

  * contrib/hbwin/Makefile
  + contrib/hbwin/wapi_alloc.c
  * contrib/hbwin/win_prn1.c
    + Moved hbwapi_* low-level object handling functions to
      separate WAPI source.
    * WIN_DELETEDC() converted to compatibility stub, it 
      will no longer release the handle.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/win_dll.c
    % Deleted '#if defined( HB_OS_WIN )' guards.
      (we can readd them for extra safety, but in this case
      they should be readded consistently for all source files)
    % Deleted '! defined( __RSXNT__ )' guards
      RSXNT is not supported a dead compiler since long.
    % Deleted '! defined( __CYGWIN__ )' guards.
      It compiles with current Cygwin, if someone is interested
      in older versions, pls send build results.
2010-01-20 16:05:09 +00:00
Viktor Szakats
fdac3b6883 2010-01-20 13:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/wapi_wingdi.c
    + Added experimental WAPI wrappers for Windows GDI printing
      functions also found in win_prn1.c.
      This is partially to avoid the legacy interface which
      is a combination of WIN_* functions and Harbour class.
      Which may seem to make thing more complicated at first,
      but IME it provides a much cleaner interface, as you
      only have to adapt to MSDN docs.
      It's also a test bed for structure passing in WAPI
      situations. I've used hashes as the best looking
      solution, but even this has some things left to solve
      (like handling string types and returning values).
      Anyway it's a food for thought.

  * contrib/hbwin/hbwin.ch
    + Added WIN_DMORIENT_* constants.

  * contrib/hbwin/win_prn1.c
    ! Fixed to not accept raw pointers where HDC or HPEN is
      expected. I've added this feature last year, without
      making special mention of it in ChangeLog, so it was
      a double-mistake.
    * Minor cleanups (hb_retnl() vs hb_retni())
    % Optimization in WIN_SETBKMODE().
2010-01-20 12:53:44 +00:00
Viktor Szakats
f2ba094a9e 2010-01-07 01:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  - contrib/hbwin/win_err.c
  + contrib/hbwin/wapi_err.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/wapi_winbase_mutex.c
    * Naming cleanup of recent change.
2010-01-07 00:41:10 +00:00
Viktor Szakats
bfa271d4e5 2010-01-03 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/generator/hbqtgen.prg
    ! Fixed formatting for one generated headder.

  * contrib/hbqt/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/qth/QApplication.qth
    + Moved HB_QT declaration to QApplication.

  * contrib/hbqt/qtgui/QApplication.cpp
    * Regenerated.

  * contrib/hbqt/qtgui/QTextCursor.cpp
  * contrib/hbqt/qtgui/TQTextCursor.prg
  * contrib/hbqt/qtgui/QSyntaxHighlighter.cpp
  * contrib/hbqt/qtgui/TQSyntaxHighlighter.prg
    * Changed after regeneration.
      (Someone pbly changed these files without .qth,
      or run older generator, or didn't run generator
      after modifying .qth)

  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
    ! Fixed warning.
    * Formatting.

  * contrib/hbqt/hbqt_hbqtableview.cpp
  * contrib/hbqt/hbqt_hbqmainwindow.cpp
    % GC callbacks made 'static'.

  * contrib/hbqt/detect.mk
  * contrib/hbxbp/Makefile
    + Enabled for OS/2.

  * contrib/hbqt/hbqt_hbqmainwindow.cpp
    - Deleted mutex handling. (was commented for while with no
      problems reported)

  * contrib/hbwin/Makefile
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwapi.h
  + contrib/hbwin/win_err.c
  * contrib/hbwin/wapi_winbase.c
    + Added hbwin_SetLastError(), hbwin_GetLastError()
      low-level functions to save/get GetLastError() values.
      This is required to preserve win lasterror value on .prg
      level. The reason we need this is because TlsGetValue()
      (called internally by Harbour core) is overwriting this
      value. Thanks to Xavi for research.

  * contrib/hbwin/wapi_winbase_mutex.c
    ! Fixed to use hbwin_SetLastError().
    ; TODO: Call hbwin_SetLastError() after _all_ winapi
            calls which modify lasterror value.
            Until then, WAPI_GETLASTERROR() is broken.

  * contrib/hbwin/hbwinole.h
    + Added self-guard.
2010-01-03 10:03:50 +00:00
Viktor Szakats
18e78f57b9 2009-12-20 04:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/wapi_winbase_mutex.c
    + Added Windows mutex wrappers.
      Contributed by Xavi <jarabal/at/gmail.com>.
    ! Added SVN header, some minor formatting.
2009-12-20 03:40:01 +00:00
Viktor Szakats
7f2d6ff5eb 2009-12-16 00:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/wapi_winnls.c
    + Added WAPI_GETACP()
    + Added WAPI_GETOEMCP()
    ; NOTE: TODO? These values could be used as a base for
            default HB_GTI_CODEPAGE setting and _SET_CODEPAGE 
            for non-UNICODE Harbour builds.
2009-12-16 00:02:08 +00:00
Viktor Szakats
947362d444 2009-12-12 15:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/mapi.c
    + Added to Makefile.
    ! Added SVN ID.
    ! Added License header. (pls add your name to copyright headers)
    ! Fixed to use simple quote to include Harbour headers.
    ! Fixed Windows header inclusion.
    ! Disabled for UNICODE.
    ! Fixed to not use return value on stack as temporary variable.
    ! Fixed to not use static variable.
    ! Fixed UNICODE literals (also for WinCE).
    ! Fixed to not create NULL "holes" in passed to Windows lists
      if received arrays have wrong content.
    ! Fixed to check return value of GetProcAddress().
    % Optimized to only do parameter processing if MAPISendMail is available.
    * Cleaned string parameter defaulting to "".
    * Castings added and changed.
    * Optimizations.
    * Formatting (indentation, deleted unnecessary {}, variable scopes, ' ;' endings)
    * Variable scopes.
    * Using HB_SIZE.
    * Avoiding duplicating constants.
    + Added some provisions for UNICODE support. Otherwise whole
      code is disabled until this gets fully implemented.
    ; TODO: It'd be probably beneficial to remove artificial limit of
            100 recipients and file attachments.
    ; NOTE: I didn't make any functional tests, so please make some.
            An example/test code would be nice in tests subdir.
2009-12-12 14:43:52 +00:00
Viktor Szakats
7a986994f2 2009-12-06 03:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/win_reg.prg
  + contrib/hbwin/legacycr.c
    + Renamed three registry functions to reside in WIN_ namespace:
      win_regSet()   <= SetRegistry()
      win_regGet()   <= GetRegistry()
      win_regQuery() <= QueryRegistry()
    ; Old names are still available.

  ; TODO: Move legacy Windows function names to xhb lib.
          This has the advantage that they can stay there
          forever.

  * contrib/hbwin/win_os.prg
    * Changed to use new function names.
    * Variable name cleanup.
    % WIN_OSNETVREDIROK() optimized/simplified.

  * contrib/hbide/ideparseexpr.c
    * Final renaming cleanup.

  * contrib/hbide/hbide.prg
    + Changed to use HB_MEMOWRIT() instead of MEMOWRIT() to avoid
      legacy EOF char.
2009-12-06 02:48:42 +00:00
Viktor Szakats
81795871b7 2009-11-25 17:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/legacycv.c
  * contrib/hbwin/win_os.prg
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/win_tprn.prg
    + Added new names for win version support functions:
        WIN_OSISNT()          <= OS_ISWINNT()
        WIN_OSISNT351()       <= OS_ISWINNT351()
        WIN_OSISNT4()         <= OS_ISWINNT4()
        WIN_OSIS2000ORUPPER() <= OS_ISWIN2000_OR_LATER()
        WIN_OSIS2000()        <= OS_ISWIN2000()
        WIN_OSISXP()          <= OS_ISWINXP()
        WIN_OSIS2003()        <= OS_ISWIN2003()
        WIN_OSISVISTA()       <= OS_ISWINVISTA()
        WIN_OSIS7()           <= OS_ISWIN7()
        WIN_OSIS9X()          <= OS_ISWIN9X()
        WIN_OSIS95()          <= OS_ISWIN95()
        WIN_OSIS98()          <= OS_ISWIN98()
        WIN_OSISME()          <= OS_ISWINME()
        WIN_OSISTSCLIENT()    <= OS_ISWTSCLIENT()
        WIN_OSVERSIONINFO()   <= OS_VERSIONINFO()
        WIN_OSNETREGOK()      <= OS_NETREGOK()
        WIN_OSNETVREDIROK()   <= OS_NETVREDIROK()
    ; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
      macro, in case someone would like to disable them.
      Please use new names, old names may disappear in the future.

  * contrib/hbwin/wce_simc.c
  * contrib/hbwin/wce_smsc.c
  * contrib/hbwin/wce_sim.prg
    + Added new names for WinCE SMS/SIM support functions:
        WCE_SIMINITIALIZE()           <= SIMINITIALIZE()
        WCE_SIMDEINITIALIZE()         <= SIMDEINITIALIZE()
        WCE_SIMPHONEBOOKSTATUS()      <= SIMPHONEBOOKSTATUS()
        WCE_SIMREADPHONEBOOKENTRY()   <= SIMREADPHONEBOOKENTRY()
        WCE_SIMWRITEPHONEBOOKENTRY()  <= SIMWRITEPHONEBOOKENTRY()
        WCE_SIMDELETEPHONEBOOKENTRY() <= SIMDELETEPHONEBOOKENTRY()
        WCE_SMSSENDMESSAGE()          <= SMSSENDMESSAGE()
    ; INCOMPATIBLE.

    ; NOTE: With these changes hbwin namespace is clean except
            for legacy definitions and .dll functions. DLL functions
            need a major overhaul anyway (plus there is Xbase++ and
            xhb compatibility concerns there), so for now it's OK.
2009-11-25 16:16:29 +00:00
Viktor Szakats
576536b6ba 2009-11-24 10:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  + contrib/hbwin/legacycp.c
    + Added new names for Windows printer support functions:
        WIN_PRINTEREXISTS()     (old name: PRINTEREXISTS())
        WIN_PRINTERSTATUS()     (old name: XISPRINTER())
        WIN_PRINTERPORTTONAME() (old name: PRINTERPORTTONAME())
        WIN_GETPRINTERS()       (old name: GETPRINTERS())
        WIN_GETDEFAULTPRINTER() (old name: GETDEFAULTPRINTER())
        WIN_SETDEFAULTPRINTER() (old name: SETDEFAULTPRINTER())
        WIN_PRINTFILERAW()      (old name: PRINTFILERAW())

    ; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
      macro, in case someone would like to disable them.
    ; Please use new names, old ones will be deleted enventually.
2009-11-24 10:00:36 +00:00
Viktor Szakats
f6bf427239 2009-11-24 10:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/win_prn3.c
  + contrib/hbwin/tests/testprn4.prg
    + Added SETDEFAULTPRINTER().
      This is Microsoft sample code taken from xhb repository,
      formatting, fixes and other modifications applied (like
      to use Harbour memory allocation functions),
      also added support for UNICODE mode.

  * contrib/hbwin/tests/testprn3.prg
    * Minor.

  * ChangeLog
    * Marked change as DONE.
2009-11-24 09:38:23 +00:00
Viktor Szakats
213d86a40e 2009-09-11 14:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  - contrib/hbwin/win_tprt.prg
  - contrib/hbwin/win_prt.c
  + contrib/hbwin/win_tcom.prg
  + contrib/hbwin/win_com.c
    + Applied patch from Alex Strickland.
      This patch renames all former WIN_PORT*() functions and classes
      to WIN_COM*(). INCOMPATIBLE.
    ! Added missing DWORD casts to -1 values.
    * Slightly renamed Win_ComSetTimeouts() and made it static.
    ; TOFIX: I had to comment out WIN_COMINIT() function since HB_INITFUNC()
             doesn't exist in Harbour.
2009-09-11 12:39:57 +00:00
Viktor Szakats
57103a49b8 2009-09-11 03:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/pcre/Makefile
    ! Missed update to reason text.

  * contrib/hbblat/Makefile
  * contrib/hbwin/Makefile
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
    + Indented.
    + Added skip reason.
2009-09-11 01:49:57 +00:00
Przemyslaw Czerpak
dd756dc5cf 2009-09-01 21:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/lib.mk
  * harbour/config/bin.mk
  * harbour/config/header.mk
  * harbour/config/dyn.mk
  * harbour/config/doc.mk
  * harbour/config/instsh.mk
    ! rewritten install rules so now they work without any problem when
      more then one target .mk file is included, i.e. lib.mk and header.mk

  * harbour/source/pp/Makefile
  * harbour/source/dynlib/mt/Makefile
  * harbour/source/dynlib/Makefile
  * harbour/contrib/hbmysql/Makefile
  * harbour/contrib/hbct/Makefile
  * harbour/contrib/xhb/Makefile
  * harbour/contrib/hbodbc/Makefile
  * harbour/contrib/hbtpathy/Makefile
  * harbour/contrib/hbsqlit3/Makefile
  * harbour/contrib/hbmzip/Makefile
  * harbour/contrib/hbblat/Makefile
  * harbour/contrib/hbqt/Makefile
  * harbour/contrib/hbxbp/Makefile
  * harbour/contrib/xpp/Makefile
  * harbour/contrib/hbnf/Makefile
  * harbour/contrib/hbcurl/Makefile
  * harbour/contrib/gtqtc/Makefile
  * harbour/contrib/rddsql/sddmy/Makefile
  * harbour/contrib/rddsql/sddpg/Makefile
  * harbour/contrib/rddsql/sddfb/Makefile
  * harbour/contrib/rddsql/sddodbc/Makefile
  * harbour/contrib/hbhpdf/Makefile
  * harbour/contrib/rddado/Makefile
  * harbour/contrib/gtwvg/Makefile
  * harbour/contrib/hbpgsql/Makefile
  * harbour/contrib/hbclipsm/Makefile
  * harbour/contrib/rddads/Makefile
  * harbour/contrib/hbfimage/Makefile
  * harbour/contrib/hbgd/Makefile
  * harbour/contrib/hbtip/Makefile
  * harbour/contrib/hbwin/Makefile
  * harbour/contrib/hbvpdf/Makefile
  * harbour/contrib/hbbtree/Makefile
  * harbour/contrib/hbssl/Makefile
  * harbour/external/libhpdf/Makefile
    * removed not longer necessary workaround for overwritten by different
      targets INSTALL_RULE
      Possible TODO: clean up some other rules in config .mk files to remove
      hacks from pp and dynlib Makefile(s).

   Above modifications should fully resolve the problems with repeated
   install actions and also build problems with some more restrictive
   POSIX SHELLs.
2009-09-01 19:05:19 +00:00
Viktor Szakats
0416f85a76 2009-08-27 14:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
    % Simplified inclusion logic.
2009-08-27 12:30:27 +00:00
Viktor Szakats
92c93fdc95 2009-08-23 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/linux1st.txt
    - Deleted Linux build instructions no more relevant.
    * Formatting. Probably this file should be moved into INSTALL.

  * doc/gmake.txt
    * Little updates.

  * harbour-win-spec
  * doc/gmake.txt
  * doc/linux1st.txt
  * doc/whatsnew.txt
  * harbour-wce-spec
  * INSTALL
  * bin/hb-mkdyn.sh
  * bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
  * bin/postinst.sh
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * mpkg_tgz.sh
  * harbour.spec
  * source/pp/hbpp.c
  * source/pp/Makefile
  * source/vm/Makefile
  * source/vm/cmdarg.c
  * source/vm/vmmt/Makefile
  * source/main/harbour.c
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
  * source/rdd/Makefile
  * source/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbxbp/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbssl/Makefile
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * config/none.mk
  * config/global.mk
  * config/lib.mk
  * config/wce/mingw.mk
  * config/bin.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/win/msvc64.mk
  * config/win/iccia64.mk
  * config/win/mingw64.mk
  * config/win/gcc.mk
  * config/win/msvcia64.mk
  * config/win/pocc64.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
    * HB_ARCHITECTURE -> HB_PLATFORM
    * hb_arch -> hb_plat (internal script variable)
    * ARCH_COMP -> PLAT_COMP (internal make variable)
    ; INCOMPATIBLE: Please update your environment, if you used this setting.
    ; NOTE: So now Harbour uses only two names for platforms: 'OS' and 'platform'.
            'Architecture' is nowhere used to refer to as an operating system
            anymore. 'Architecture' is only used to refer to CPU/hardware
            architecture.
2009-08-23 15:58:51 +00:00
Viktor Szakats
868a22ea84 2009-08-17 19:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * external/Makefile
  * include/Makefile
  * source/pp/Makefile
  * source/hbextern/Makefile
  * source/lang/Makefile
  * source/vm/maindllh/Makefile
  * source/vm/mainstd/Makefile
  * source/vm/maindllp/Makefile
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  * source/vm/mainwin/Makefile
  * source/main/Makefile
  * source/debug/Makefile
  * source/common/Makefile
  * source/nortl/Makefile
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gtstd/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtcgi/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtsln/Makefile
  * source/rtl/gtpca/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gt_tpl/Makefile
  * source/rtl/gtwvt/Makefile
  * source/macro/Makefile
  * source/hbpcre/Makefile
  * source/codepage/Makefile
  * source/rdd/dbfntx/Makefile
  * source/rdd/nulsys/Makefile
  * source/rdd/Makefile
  * source/rdd/dbfnsx/Makefile
  * source/rdd/dbfcdx/Makefile
  * source/rdd/hsx/Makefile
  * source/rdd/usrrdd/rdds/Makefile
  * source/rdd/usrrdd/Makefile
  * source/rdd/dbffpt/Makefile
  * source/rdd/hbsix/Makefile
  * source/hbzlib/Makefile
  * source/compiler/Makefile
  * source/Makefile
  * utils/hbformat/Makefile
  * utils/hbmk2/Makefile
  * utils/hbtest/Makefile
  * utils/hbi18n/Makefile
  * utils/Makefile
  * utils/hbrun/Makefile
  * contrib/gtalleg/Makefile
  * contrib/hbmysql/Makefile
  * contrib/hbct/Makefile
  * contrib/xhb/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbtpathy/Makefile
  * contrib/hbgt/Makefile
  * contrib/hbmzip/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/hbziparc/Makefile
  * contrib/hbxbp/Makefile
  * contrib/xpp/Makefile
  * contrib/Makefile
  * contrib/hbnf/Makefile
  * contrib/hbcurl/hbcurls/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddmy/Makefile
  * contrib/rddsql/sddpg/Makefile
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddsql/Makefile
  * contrib/hbhpdf/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/hbpgsql/Makefile
  * contrib/rddads/Makefile
  * contrib/hbclipsm/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbgd/Makefile
  * contrib/hbmisc/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbbmcdx/Makefile
  * contrib/hbvpdf/Makefile
  * contrib/hbssl/Makefile
  * contrib/hbbtree/Makefile
  * tests/bldtest/Makefile
  * doc/en-EN/Makefile
  * doc/Makefile
  * Makefile
    * Renaming .cf files to .mk.
      Pass 3. Changing .cf references to .mk ones outside config.
      SVN is in working state again. I'll do a final check after 
      this commit.
2009-08-17 17:32:21 +00:00
Viktor Szakats
c18e8cf12f 2009-08-14 22:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed to not throw harmless but still confusing error
      messages when cleaning hbpp binary parts.

  * bin/hb-mkdyn.bat
    % Minor optimization in initialization.

  - make_gnu_os2.cmd
  - make_gnu.bat
    - Deleted these starter batch files.
    ; Please use 'mingw32-make' (if installed in PATH) or
      'config/mingw32-make' (if not installed in PATH) instead.
      OS/2 users should use 'make'.
    ; OS/2 users will have to add:
      set HB_USER_CFLAGS=-DTCPV40HDRS
      to local configuration unless they used:
      set HB_OS2_TCP32=yes
      I'd like to ask OS/2 users to add (now deleted) related
      documentation to one of our docs: INSTALL or include/hbsetup.h.
      Since this was a setting to disable some default setup,
      we can readd this setting with another name to
      config/global.cf if needed. Pls tell me about it.
    ; TODO: Delete make_gnu.sh and/or integrate make_gnu_xmingw*.sh.
            There is still two things which is done by make_gnu.sh:
              - Detection for -fPIC option.
              - Setting HB_INSTALL_PREFIX to system location.
                  (I don't like this, but it seems to be standard
                  behaviour on Linux, so we may want to change GNU Make
                  default logic according to that)
    ; TODO: Move mpkg_*.sh files with related support files to /package.
            Best would be to integrate them to postinst.sh.

  * INSTALL
    + Added TOFIX to one example: djgpp with NT shell will choke on
      too long cmdline when building external/libhpdf.
    ; TOFIX: see above. (if possible. If it's too complicated we
             should simply drop this scenario, after all DJGPP GNU 
             Make also works well.

  * contrib/gtalleg/Makefile
  * contrib/hbmysql/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/hbxbp/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddmy/Makefile
  * contrib/rddsql/sddpg/Makefile
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/hbhpdf/Makefile
  * contrib/gtwvg/Makefile
  * contrib/hbpgsql/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbgd/Makefile
  * contrib/hbwin/Makefile
    + Indentation.
2009-08-14 20:35:48 +00:00
Viktor Szakats
6944db77d7 2009-08-10 14:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/en-EN/Makefile
  * doc/Makefile
  * include/Makefile
  * contrib/gtalleg/Makefile
  * contrib/hbmysql/Makefile
  * contrib/hbct/Makefile
  * contrib/xhb/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbtpathy/Makefile
  * contrib/hbgt/Makefile
  * contrib/hbmzip/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/Makefile_gen
  * contrib/hbfbird/Makefile
  * contrib/hbziparc/Makefile
  * contrib/hbxbp/Makefile
  * contrib/xpp/Makefile
  * contrib/hbnf/Makefile
  * contrib/Makefile
  * contrib/hbcurl/hbcurls/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddmy/Makefile
  * contrib/rddsql/sddpg/Makefile
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddsql/Makefile
  * contrib/hbhpdf/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/hbpgsql/Makefile
  * contrib/hbclipsm/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbgd/Makefile
  * contrib/hbmisc/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbbmcdx/Makefile
  * contrib/hbvpdf/Makefile
  * contrib/hbssl/Makefile
  * contrib/hbbtree/Makefile
  * source/pp/Makefile
  * source/hbextern/Makefile
  * source/lang/Makefile
  * source/vm/maindllh/Makefile
  * source/vm/mainstd/Makefile
  * source/vm/maindllp/Makefile
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  * source/vm/mainwin/Makefile
  * source/main/Makefile
  * source/debug/Makefile
  * source/common/Makefile
  * source/nortl/Makefile
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gtstd/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtcgi/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtsln/Makefile
  * source/rtl/gtpca/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gt_tpl/Makefile
  * source/rtl/gtwvt/Makefile
  * source/macro/Makefile
  * source/hbpcre/Makefile
  * source/codepage/Makefile
  * source/rdd/dbfntx/Makefile
  * source/rdd/nulsys/Makefile
  * source/rdd/Makefile
  * source/rdd/dbfnsx/Makefile
  * source/rdd/dbfcdx/Makefile
  * source/rdd/hsx/Makefile
  * source/rdd/usrrdd/rdds/Makefile
  * source/rdd/usrrdd/Makefile
  * source/rdd/dbffpt/Makefile
  * source/rdd/hbsix/Makefile
  * source/hbzlib/Makefile
  * source/compiler/Makefile
    * Finished replacing TABs with spaces in simple variable assigments.
      TABs are only required when specifiying a rule command.
2009-08-10 12:48:47 +00:00
Viktor Szakats
8106523a59 2009-08-09 21:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    ! Fixed 'sh' HB_SHELL detection. Problem experienced with
       Cygwin GNU Make, where SHLVL isn't defined on the first
       level. Now also checking for SHELL=/bin/sh to detect sh
       shell.

  * tests/multifnc/Makefile
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * contrib/gtalleg/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbtpathy/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/hbxbp/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbssl/Makefile
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtsln/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
  * source/rdd/Makefile
  * source/rdd/dbffpt/Makefile
    ! Including 'global.cf' directly to make HB_ARCHITECTURE/HB_COMPILER/HB_COMMERCE
      variables work in case we're relying on autodetection.
    ; TODO: May need to do this for a few other cases where detection is relying
            on some additional variables. Like HB_XBUILD, which needs to be
            cleaned further, maybe autodetection added.
    ; NOTE: Above changes mean that from now on for basic build usage it's
            enough to have the compiler in PATH and to issue a simple 'make'
            or 'mingw32-make' (or whatever GNU Make is called in that environment),
            and make process should just work. IOW, no need to go through 
            "starter" scripts in root (make_gnu.*).
2009-08-09 19:52:17 +00:00
Viktor Szakats
edf24746e1 2009-08-09 19:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* Makefile
  * tests/Makefile
  * contrib/hbmisc/Makefile
  * contrib/hbwin/Makefile
  * utils/Makefile
    % Started converting '=' operators to ':=' where applicable.
    ; TODO: Rest of Makefiles.

  * contrib/hbwin/Makefile
    ! Including 'global.cf' directly to make HB_ARCHITECTURE/HB_COMPILER
      variables work in case we're relying on autodetection.
    ; TOFIX: Rest of Makefiles.

  * config/global.cf
    + Added self-inclusion check to allow adding this .cf file
      directly to Makefiles in order to force platform detection
      for cases where this information is needed for local decisions.

  * config/dos/global.cf
    - Deleted 'ifndef MK' construct. Purpose unknown, and not
      found similar for other platforms.

  * config/global.cf
  * config/globsh.cf
    + Added my copyright.

  * contrib/hbtpathy/tpwin.c
  * contrib/hbtpathy/tpos2.c
    % Deleted unnecessary headers.
2009-08-09 17:56:46 +00:00
Viktor Szakats
b3e422d967 2009-07-30 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/hbsim.ch
  + contrib/hbwin/wce_simc.c
  + contrib/hbwin/wce_smsc.c
  + contrib/hbwin/wce_sim.prg
  + contrib/hbwin/tests/testsim.prg
    + Added SIM reading and SMS sending interfaces for WinCE.
      This is a contribution from Jose Luis Capel. Many thanks for it.

    ; NOTE:
      mingwarm doesn't support these APIs unfortunately, poccarm does,
      and msvcarm as well, but I couldn't try the latter.
      (I've applied formatting, cleanups and some minor fixes)
      Jose and all, please review and test.

  * examples/httpsrv/uhttpd.prg
  * examples/httpsrv/uhttpd.hbp
  * examples/httpsrv/readme.txt
    % Given less focus on the socket selection issue. Now the only
      difference is .prg level API and local API is fully portable.
    * Made the proprietary one the default on all platforms.
      (it looks much more obvious/simple to use, also requires less
      STATIC variables)

  * contrib/hbwin/win_misc.c
    ! Fix for WinCE.

  * ChangeLog
    ! Typos.
2009-07-30 10:01:06 +00:00
Viktor Szakats
41979f5b60 2009-06-17 08:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added support for rest of embedded compiler installations:
      pocc64, poccarm, dos/watcom. Since these share a common
      install kit with other targets, they can only be selected
      using -comp= switch and in this case they will be used
      if the installation is present.

  * contrib/hbwin/win_misc.c
    + Added support for embedded Chr(0) to WIN_ANSITOWIDE() and
      WIN_WIDETOANSI().
    ! Fixed WIN_ANSITOWIDE(). Dunno when it worked the last time,
      but it must be long ago (SysStringLen() was returning zero).

  * contrib/hbwin/Makefile
  * contrib/hbwin/win_misc.c
  + contrib/hbwin/wapi_shellapi.c
    * Moved and renamed WIN_SHELLEXECUTE() to WAPI_SHELLEXECUTE()
      since this implementation is a full wrapper of original
      Windows API. Incompatible. Please update your sources.

  * contrib/hbwin/legacyco.c
    * Formatting.
2009-06-17 06:34:57 +00:00
Viktor Szakats
5c80afaa36 2009-06-14 20:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  - contrib/hbwin/legacyc.c
  + contrib/hbwin/legacycd.c
  + contrib/hbwin/legacyco.c
    * Mimicing old layout to avoid potential symbol collisions 
      with certain 3rd parties.
2009-06-14 18:46:32 +00:00
Viktor Szakats
dcb8b9783b 2009-05-26 21:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_commctrl.c
    ! wapi_par_COLORREF() fixed to use hb_parnl(). COLORREF is a 32bit value.
    ! Rest of wapi_par_*() macros fixed to accept pointers only.
      If someone needs to pass numbers, use WIN_N2P() to convert them
      to pointers first.
    ! Corrected casts in wapi_par_WORD() and wapi_par_DWORD().
    ! Fixed wapi_ret_HRESULT() to use hb_retnl(). It's a 32bit status value.
    ! Fixed wapi_ret_COLORREF() to use hb_retnl().
    ! Fixed WAPI_TABCTRL_CREATE() for 64-bit mode, font type was wrong.
    ! Fixed WAPI_TABCTRL_CREATE() to return pointer instead of number.

  * contrib/hbwin/Makefile
    ! Reverted accidental edit in prev commit.
2009-05-26 19:42:33 +00:00
Viktor Szakats
f75fe3e4c7 2009-05-26 20:05 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
     * Minor cleanups to prev.

   * contrib/hbwin/axcore.c
     * Minor formatting.
     % Variable scopes adjusted.
     % WIN_AXCREATEWINDOW() optimized.
     - Deleted ToOutDebug() stuff. Please use TRACE() subsystem for
       these parts.
     ; NOTE: I'm note sure we should have a WIN_AXCREATEWINDOW() function
             there. Rather, we should have a WAPI_CREATEWINDOWEX() function
             which serves the same purpose, but in a generic manner, also
             usable for AX purposes. Is there anything against this idea?

   * utils/hbformat/hbformat.prg
   * contrib/gtwvg/wvgclass.prg
   * contrib/gtwvg/wvgscrlb.prg
   * contrib/gtwvg/wvgdlg.prg
   * contrib/gtwvg/wvgpaint.prg
   * contrib/gtwvg/wvgdarea.prg
   * contrib/gtwvg/wvgmle.prg
   * contrib/gtwvg/wvglistb.prg
   * contrib/gtwvg/wvgtoolb.prg
   * contrib/gtwvg/wvgpushb.prg
   * contrib/gtwvg/wvgsle.prg
   * contrib/gtwvg/wvgtreev.prg
   * contrib/gtwvg/tests/demoxbp.prg
   * contrib/gtwvg/tests/demowvg.prg
   * contrib/gtwvg/wvgwnd.prg
   * contrib/gtwvg/wvgcrt.prg
   * contrib/gtwvg/wvgdatar.prg
   * contrib/gtwvg/wvgradio.prg
   * contrib/gtwvg/wvgsysw.prg
   * contrib/gtwvg/wvgmenub.prg
   * contrib/gtwvg/wvgphdlr.prg
   * contrib/gtwvg/wvgbitmp.prg
   * contrib/gtwvg/wvgcheck.prg
   * contrib/gtwvg/wvgstatb.prg
   * contrib/gtwvg/wvgstatc.prg
   * contrib/gtwvg/wvghtmlv.prg
   * contrib/gtwvg/wincback.prg
   * contrib/gtwvg/wvgtabpg.prg
   * contrib/gtwvg/wvg3stat.prg
   * contrib/gtwvg/wvgcombo.prg
     * Some formatting. (' -> " and #include lines)
2009-05-26 18:06:55 +00:00
Viktor Szakats
33a1f2abdf 2009-05-20 20:02 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    ! Added workaround for DIRECTORY() problem under Windows.
      '*.ext' input files weren't working if the actual filenames
      had different casing (on Windows). Also changed the hack
      to only kick in on Windows platforms, *nixes seems to work
      as expected.
    ; NOTE: This workaround should probably be moved to Harbour
            FileFind API.

  * INSTALL
    + Added HB_INC_ODBC.

  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/legacyc.c
    * Updated to reflect OLE function name changes.

  * contrib/hbwin/legacyc.c
    + Added GETACTIVEOBJECT(), CREATEOBJECT(), OLEERROR()
      compatibility calls. All of them are simple aliases to
      new OLE function, which means there may be differences
      in behviour. Users will need to adjust them for full
      compatibility.
      However, I'd recommend changing all code to use our
      new OLE functions and classes.

  * contrib/hbwin/Makefile
  + contrib/hbwin/legacy.prg
    * Moved TOLEAUTO() compatibility class to .prg level.
      It's a stub, inheriting from WIN_OLEAUTO. I hope TOLEAUTO
      users will fill it with required compitibility methods.

  ; NOTE: Getting these warnings with bcc:
          Warning W8075 ../../axcore.c 93: Suspicious pointer conversion in function hb_ax_init
          Warning W8075 ../../axcore.c 322: Suspicious pointer conversion in function HB_FUN___AXREGISTERHANDLER

  ; NOTE: Getting these errors with msvc (default C++ mode):
          ../../axcore.c(93) : error C2440: '=' : cannot convert from 'FARPROC' to 'HRESULT (__stdcall *)(HWND,IUnknown **)'
                  This conversion requires a reinterpret_cast, a C-style cast or function-style cast
          ../../axcore.c(146) : error C2143: syntax error : missing ';' before '*'
          ../../axcore.c(146) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
          ../../axcore.c(146) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
          ../../axcore.c(175) : error C2039: 'lpVtbl' : is not a member of 'ISink'
                  ../../axcore.c(145) : see declaration of 'ISink'
          ../../axcore.c(175) : error C2227: left of '->Release' must point to class/struct/union/generic type
          ../../axcore.c(179) : error C2143: syntax error : missing ')' before 'this'
          ../../axcore.c(179) : error C2143: syntax error : missing ';' before 'this'
          ../../axcore.c(179) : error C2059: syntax error : ')'
          ../../axcore.c(180) : error C2143: syntax error : missing ';' before '{'
          ../../axcore.c(180) : error C2447: '{' : missing function header (old-style formal list?)
          [ ...snip... ]
          ../../axcore.c(198) : error C2365: 'Release' : redefinition; previous definition was 'formerly unknown identifier'
          [ ...snip... ]
          ../../axcore.c(282) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
          ../../axcore.c(282) : error C2146: syntax error : missing ';' before identifier 'ISink_Vtbl'
          ../../axcore.c(282) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
          ../../axcore.c(283) : error C2440: 'initializing' : cannot convert from 'HRESULT (__stdcall *)(IDispatch *)' to 'int'
                  There is no context in which this conversion is possible
          ../../axcore.c(284) : error C2078: too many initializers
          ../../axcore.c(322) : error C2039: 'lpVtbl' : is not a member of 'ISink'
                  ../../axcore.c(145) : see declaration of 'ISink'
2009-05-20 19:19:45 +00:00
Mindaugas Kavaliauskas
7be72f4181 2009-05-20 18:15 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added public functions hb_oleSetError(), hb_oleGetError()

  * harbour/contrib/hbwin/Makefile
  + harbour/contrib/hbwin/axcore.c
  + harbour/contrib/hbwin/axfunc.prg
    + added ActiveX support. Public functions are:
      WIN_AxInit() --> lSuccess
      WIN_AxGetControl( hWnd, [ bEventHandler ] ) --> oActiveX
    
    ; TODO: a few warnings left. I do not know howto recast function 
      type pointer

  * harbour/contrib/hbwin/oleauto.c
    * function renames
    + :__hSink, :__cargo members

  * harbour/contrib/hbwin/olecore.c
    * function renames
    + support item to variant conversion for classes inherited from 
      WIN_OLEAUTO
    - removed internal OLERELEASE()
    + added optional parameter for WIN_OleErrorText( [ nOleError ] ) 

  * harbour/source/vm/classes.c
    * minor optimisation
2009-05-20 15:19:17 +00:00