HMG use Prefix "HMG_" for 64 Bit compatible Way
HMG_parnl
HMG_parvc
HMG_parc
HMG_arrayGetCPtr
HMG_retc
HMG_retnl
HMG_storc
HMG_storvnl
HMG_storvc
did FiveWin have a Prefix for 64 Bit ( fw_ )
HMG_parnl
HMG_parvc
HMG_parc
HMG_arrayGetCPtr
HMG_retc
HMG_retnl
HMG_storc
HMG_storvnl
HMG_storvc
HB_xxxx
Warning W8065 HB_FUNC.PRG 41: Call to function 'HB_parc' with no prototype in function HB_FUN_LV_INSERTCOLUMN
Warning W8065 HB_FUNC.PRG 74: Call to function 'HB_parvc' with no prototype in function HB_FUN_ADDLISTVIEWITEMS
Warning W8065 HB_FUNC.PRG 79: Call to function 'HB_parvc' with no prototype in function HB_FUN_ADDLISTVIEWITEMS
Warning W8065 HB_FUNC.PRG 145: Call to function 'HB_parvc' with no prototype in function HB_FUN_LV_SETITEMTEXT
Error: Unresolved external '_HB_parc' referenced from C:\FWH\0\LISTVIEW\TGRID.OBJ
Error: Unresolved external '_HB_parvc' referenced from C:\FWH\0\LISTVIEW\TGRID.OBJ
hb_par* function are to be used inside "c" functions.
HB_FUNC ( LISTVIEW_ADDCOLUMN )
{
LV_COLUMN COL;
COL.mask= LVCF_WIDTH | LVCF_TEXT | LVCF_FMT | LVCF_SUBITEM ;
COL.cx= hb_parni(3);
COL.pszText = (TCHAR*) HMG_parc(4);
COL.iSubItem=hb_parni(2)-1;
COL.fmt = hb_parni(5) ;
HB_FUNC ( ADDLISTVIEWITEMS )
{
HWND hWnd;
LV_ITEM LI;
int nColumnCount, nCol, nRow;
hWnd = (HWND) HMG_parnl (1);
nColumnCount = hb_parinfa (2, 0);
if ( HB_ISNIL(4) )
nRow = ListView_GetItemCount (hWnd);
else
nRow = hb_parni (4);
LI.mask = LVIF_TEXT | LVIF_IMAGE;
LI.state = 0;
LI.stateMask = 0;
LI.iImage = hb_parni (3);
LI.iSubItem = 0;
LI.iItem = nRow;
LI.pszText = (TCHAR*) HMG_parvc (2, 1);
ListView_InsertItem (hWnd, &LI);
for (nCol = 1; nCol < nColumnCount; nCol++)
ListView_SetItemText (hWnd, nRow, nCol, (TCHAR*) HMG_parvc (2, nCol+1));
}
nageswaragunupudi wrote:This code works for both 32/64 bits.
- Code: Select all Expand view
#include <fwh.h> // from fwh\include
hWnd = ( HWND ) fw_parH( 1 );
Antonio Linares wrote:> but what about String Constant like hb_parc or hb_parvc under Fivewin
You use those standard functions and they work fine, as expected
FiveWin Unicode
if ( FW_GetUnicode() )
{
LPCWSTR lpOperation = fw_parWide( 2 );
LPCWSTR lpFile = fw_parWide( 3 );
LPCWSTR lpParameters = fw_parWide( 4 );
LPCWSTR lpDirectory = fw_parWide( 5 );
ShellExecuteW( ( HWND ) fw_parH( 1 )
TGRID.c
HB_FUNC.PRG(61): warning C4244: "=": Konvertierung von "HB_SIZE" in "int", möglicher Datenverlust
HB_FUNC.PRG(138): warning C4244: "Initialisierung": Konvertierung von "HB_SIZE" in "int", möglicher Datenverlust
HB_FUNC.PRG(214): warning C4312: "Typumwandlung": Konvertierung von "long" in größeren Typ "HIMAGELIST"
HB_FUNC.PRG(220): error C2440: "Initialisierung": "HANDLE" kann nicht in "HBITMAP" konvertiert werden
HB_FUNC.PRG(220): note: Konvertierung von "void*" in Zeiger auf nicht-"void" erfordert eine explizite Typumwandlung
61 nColumnCount = hb_parinfa (2, 0);
138 int nLen = hb_parinfa (2, 0);
214 ImageList_RemoveAll( ( HIMAGELIST ) hb_parnl( 1 ) );
220 HBITMAP hBmp = LoadImage( NULL, ( LPCSTR ) hb_parnll( 1 ), IMAGE_BITMAP, 0, 0, 0 );
#pragma BEGINDUMP
#include <windows.h>
#include <commctrl.h>
#include <hbapi.h>
#include <fwh.h>
// LV_ChangeExtendedStyle ( hWnd, [ nAddStyle ], [ nRemoveStyle ] )
HB_FUNC( LV_CHANGEEXTENDEDSTYLE )
...
HB_FUNC.PRG(10): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "fwh.h": No such file or directory
Enrico Maria Giordano wrote:I don't understand your problem. I recompiled my PRGs with FWH64 and they seem to work fine.
HB_FUNC( GETGRIDVKEY )
{
#ifndef _WIN64
LPARAM lParam = (LPARAM) hb_parnl (1);
#else
LPARAM lParam = (LPARAM) hb_parnll (1);
#endif
LV_KEYDOWN * LVK = (LV_KEYDOWN *) lParam;
hb_retni ( LVK->wVKey );
}
Jimmy wrote:my CLASS TGrid() use HB_FUNC() which are not Part of Fivewin, it is "new" for Fivewin
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: No registered users and 28 guests