/ *
* Jose Carlos da Rocha
* Work with xBase code DLL for use with Harbour
* Sao Paulo - 09/09/2014
* Based on examples and other BabuDLL
* /
#include "FiveWin.ch"
FUNCTION Main ()
Local oWndMain, oBarMain
DEFINE WINDOW oWndMain TITLE "Window into the EXE" MDI BuildMenuMain MENU () COLOR "N / W"
DEFINE ButtonBar oBarMain oWndMain OF SIZE 60, 60 2007
DEFINE BUTTON OF ACTION oBarMain WinExec ("RunDLL32.exe rochadll.dll, CusTstBrw")
DEFINE BUTTON OF ACTION oBarMain UseDLL ("CusTstBrw", "rochadll.dll")
SET OF MESSAGE TO oWndMain "Testing the FiveWin DLLs" CENTERED
ACTIVATE WINDOW oWndMain MAXIMIZED VALID MsgYesNo ("You want to go?")
RETURN nil
FUNCTION BuildMenuMain ()
Local oMenu
MENU oMenu
MENUITEM "Directors"
MENU
MENUITEM "& Customers ..." ACTION HbDllEntry ("Customer") MESSAGE "Maintenance Clients"
MENUITEM "& Browse ..." ACTION HbDllEntry ("CusTeste") MESSAGE "Guest Browse"
MENUITEM "& Customer ..." ACTION CusTstBrw () MESSAGE "Guest Browse"
SEPARATOR
MENUITEM "& Exit" ACTION ownd: End ();
MESSAGE "System Exit"
ENDMENU
oMenu: AddMdi () // Add standard MDI options menu
ENDMENU
return oMenu
FUNCTION UseDLL (cFuncName, cDllName)
Local hDLL, cFarProc
hDLL = LoadLibrary (cDllName)
if hDll> 32
cFarProc: = GetProcAddress (hDLL, "DLLSYMINIT", .T, _INT).
CallDLL (cFarProc)
Eval (& ("{||" + cFuncName + "()}"))
endif
return nil
// ------------------------------------------------ ------------------------- //
#include "
dll.ch"
DLL32 FUNCTION CusTstBrw () AS LONG PASCAL LIB "rochadll.dll"
DLL32 FUNCTION HBDLLENTRY (cProc AS LPSTR) AS LONG PASCAL LIB "rochadll.dll"
DLL32 FUNCTION HBDLLENTRY2 (cProc AS LPSTR, pItem1 THE LONG, LONG pItem2 AS) AS LONG PASCAL LIB "rochadll.dll"
DLL32 FUNCTION HBDLLENTRY3 (cProc AS LPSTR, pItem1 AS _INT, pItem2 _INT AS) AS _INT PASCAL LIB "rochadll.dll"