Page 1 of 1

Creating and using a Harbour pcode DLL

Posted: Sun Jan 29, 2012 4:16 am
by Antonio Linares
go.bat

Code: Select all

set HB_COMPILER=bcc
set path=c:\bcc582\bin
c:\harbour\bin\hbmk2 test1.prg
c:\harbour\bin\hbmk2 -hbdyn -lhbmaindllp pcode.prg
 
test1.prg

Code: Select all

function Main()

   local hDLL := hb_LibLoad( "pcode.dll" )

   Do( "Another" )
   Alert( "From the EXE" )
   
   hb_LibFree( hDLL )

return nil

#pragma BEGINDUMP

#include "hbapi.h"

HB_EXPORT_ATTR PHB_FUNC dll_hb_vmProcAddress( const char * szFuncName )
{
   return hb_vmProcAddress( szFuncName );
}

#pragma ENDDUMP  
 
pcode.prg

Code: Select all

DYNAMIC Alert

function Another()

   Alert( "Inside the DLL" )

return nil
 

Re: Creating and using a Harbour pcode DLL

Posted: Mon Jan 30, 2012 10:02 pm
by Antonio Linares
To create a small EXE that just contains pcode and uses a Harbour DLL that contains the HVM (virtual machine and RTLs) do:

hbmk2 -shared test.prg

test.prg

Code: Select all

function Main()

   Alert( "Hello world" )

return nil
 

Re: Creating and using a Harbour pcode DLL

Posted: Thu Dec 12, 2019 6:19 am
by Jimmy
hi,

i have follow what you wrote and got DLL and a Console Window open ... but no ALERT() :cry:
please have a look if Code is still valid, thx

Question : can i access these DLL from Xbase++ :?: