Revision: 13836
          
http://harbour-project.svn.sourceforge.net/harbour-project/?rev=13836&view=rev
Author:   druzus
Date:     2010-02-10 11:34:42 +0000 (Wed, 10 Feb 2010)

Log Message:
-----------
2010-02-10 12:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * harbour/src/pp/Makefile
  * harbour/src/pp/hbpp.c
    ! fixed compilation with HB_DYNLIB macro

  - harbour/src/vm/maindll.c
    - removed unused dummy file

  * harbour/src/vm/Makefile
  * harbour/include/hbapi.h
  + harbour/src/vm/procaddr.c
    + added hb_vmProcAddress() function

  * harbour/include/hbdefs.h
    + added HB_EXPORT_ATTR and HB_IMPORT_ATTR macros - they are always
      defined regardless of HB_DYNLIB macro state

  * harbour/src/vm/maindllh/Makefile
    * disabled HB_DYNLIB

  * harbour/src/vm/maindllp/Makefile
  + harbour/src/vm/maindllp/dllpcode.c
    + added new import library for PCODE DLLs. It contains wrappers for
      hb_vmProcessSymbols() and hb_vmExecute() implemented in a way
      which creates minimal speed overhead.
    + added error reporting (MessageBox()) when redirected functions
      cannot be found.
    + added hb_dllGetProcAddress() C function

  * harbour/include/hbtypes.h
  - harbour/src/vm/maindllp.c
  + harbour/src/vm/maindllp/dllext.c
    * moved old wrappers to some of extended and array API functions
      into separate file
    * updated to use hb_dllGetProcAddress()
    - removed functions which should not be used by user code
    % cleaned, optimized and added error reporting to function wrappers.

    I do not know who chose exported functions but it looks like a
    quite random set which should be extended for real functionality.
    If someone is interested then he can do that. I updated this file
    only for backward compatibility.

   Above modifications allows to use PCODE DLLs with any application
   also static ones using Harbour compiled without exported symbols.
   It's enough to link it with this function:
      HB_EXPORT_ATTR PHB_FUNC dll_hb_vmProcAddress( const char * szFuncName )
      {
         return hb_vmProcAddress( szFuncName );
      }
   The official form of including above function to final binaries is not
   defined yet.

Modified Paths:
--------------
    trunk/harbour/ChangeLog
    trunk/harbour/include/hbapi.h
    trunk/harbour/include/hbdefs.h
    trunk/harbour/include/hbtypes.h
    trunk/harbour/src/pp/Makefile
    trunk/harbour/src/pp/hbpp.c
    trunk/harbour/src/vm/Makefile
    trunk/harbour/src/vm/maindllh/Makefile
    trunk/harbour/src/vm/maindllp/Makefile

Added Paths:
-----------
    trunk/harbour/src/vm/maindllp/dllext.c
    trunk/harbour/src/vm/maindllp/dllpcode.c
    trunk/harbour/src/vm/procaddr.c

Removed Paths:
-------------
    trunk/harbour/src/vm/maindll.c
    trunk/harbour/src/vm/maindllp.c


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to