FWH 26.03 betatesters wanted

User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: FWH 26.03 betatesters wanted

Post by carlos vargas »

para construir harbour con bcc32c y con bcc64, he tenido que hacer algunos cambios, en el archivo \config\win\bcc.mk

Code: Select all | Expand

# GNU Make file for Borland/CodeGear/Embarcadero C/C++
# Support for bcc, bcc32c, bcc64
ifeq ($(HB_COMPILER),bcc64)
   OBJ_EXT := .o
   LIB_PREF :=
   LIB_EXT := .a
else
   OBJ_EXT := .obj
   LIB_PREF :=
   LIB_EXT := .lib
endif

HB_DYN_COPT := -DHB_DYNLIB

ifeq ($(HB_COMPILER),bcc64)
   CC := bcc64.exe
else ifeq ($(HB_COMPILER),bcc32c)
   CC := bcc32c.exe
else
   CC := bcc32.exe
endif

CC_IN := -c
CC_OUT := -o

CFLAGS += -I. -I$(HB_HOST_INC)

ifeq ($(HB_COMPILER),bcc)
   CFLAGS += -q -tWM -CP437
else
   CFLAGS += -q -tWM 
endif

ifeq ($(HB_BUILD_WARN),no)
   ifeq ($(HB_COMPILER),bcc32)
       CFLAGS += -w-aus -w-ccc -w-csu -w-ovf -w-par -w-rch -w-spa
   endif
else
   ifeq ($(HB_COMPILER),bcc32c)
      CFLAGS += -w 
   else ifeq ($(HB_COMPILER),bcc64)
      CFLAGS += -w -Q
   endif
endif

ifneq ($(HB_BUILD_OPTIM),no)
   ifeq ($(HB_COMPILER),bcc32)
      CFLAGS += -d -O2 -OS -Ov -Oc -Oi -6
   else  ifeq ($(HB_COMPILER),bcc32c)
      CFLAGS += -d -O2
   else
      CFLAGS += -O2 
   endif
endif

ifeq ($(HB_BUILD_MODE),cpp)
   ifneq ($(HB_COMPILER),bcc64)
      CFLAGS += -P
   endif
endif

ifeq ($(HB_BUILD_DEBUG),yes)
   ifeq ($(HB_COMPILER),bcc64)
      CFLAGS += -g
   else ifeq ($(HB_COMPILER),bcc)
      CFLAGS += -v -y
   else
      CFLAGS += -v
   endif
endif

ifneq ($(HB_HOST_PLAT_UNIX),)
   BACKSLASH := $(subst /,\,\\)
else
   BACKSLASH := $(subst /,\,\)
endif

ifeq ($(HB_SHELL),sh)
   ECHOBACKSLASH := $(BACKSLASH)$(BACKSLASH)
else
   ECHOBACKSLASH := $(BACKSLASH)
endif

# Hack to autoconfig bcc, and not require properly set .cfg files in its bin dir.
# It only works if we know compiler location.
ifneq ($(HB_COMP_PATH_PUB),)
   HB_CFLAGS += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include")
   RCFLAGS   += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include")
   ifneq ($(wildcard $(HB_COMP_PATH_PUB)../Include/windows/crtl),)
      HB_CFLAGS += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include/windows/crtl")
      RCFLAGS   += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include/windows/crtl")
   endif
   ifneq ($(wildcard $(HB_COMP_PATH_PUB)../Include/windows/sdk),)
      HB_CFLAGS += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include/windows/sdk")
      RCFLAGS   += $(subst /,$(BACKSLASH),-I"$(HB_COMP_PATH_PUB)../Include/windows/sdk")
   endif
   ifeq ($(HB_COMPILER),bcc64)
      LDFLAGS += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Lib/Win64" -L"$(HB_COMP_PATH_PUB)../Lib/Win64/PSDK")
      DFLAGS  += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Lib/Win64" -L"$(HB_COMP_PATH_PUB)../Lib/Win64/PSDK")   
else ifeq ($(HB_COMPILER),bcc32c) LDFLAGS += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Lib/Win32c" -L"$(HB_COMP_PATH_PUB)../Lib/Win32c/PSDK") DFLAGS += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Lib/Win32c" -L"$(HB_COMP_PATH_PUB)../Lib/Win32c/PSDK")
else LDFLAGS += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Win32/Lib" -L"$(HB_COMP_PATH_PUB)../Lib/Win32/PSDK") DFLAGS += $(subst /,$(BACKSLASH),-L"$(HB_COMP_PATH_PUB)../Win32/Lib" -L"$(HB_COMP_PATH_PUB)../Lib/Win32/PSDK") endif
endif ifeq ($(HB_COMPILER),bcc) RC := brcc32.exe RC_OUT := -fo RCFLAGS += -I. -I$(HB_HOST_INC) else RC := rc.exe RC_OUT := -fo RCFLAGS += /i. /i$(HB_HOST_INC) endif ifeq ($(HB_COMPILER),bcc64) LD := ilink64.exe else LD := ilink32.exe endif LIBPATHS := $(foreach dir,$(LIB_DIR) $(3RDLIB_DIR),$(subst /,$(BACKSLASH),-L"$(dir)")) LDFLAGS += $(LIBPATHS) -Gn ifeq ($(HB_COMPILER),bcc64) LDFLAGS += -Tpe else LDFLAGS += -Tpe endif ifeq ($(HB_COMPILER),bcc64) LD_RULE = $(LD) $(LDFLAGS) $(HB_LDFLAGS) $(HB_USER_LDFLAGS) c0x64.o $(filter-out %$(RES_EXT),$(^F)), "$(subst /,$(BACKSLASH),$(BIN_DIR)/$@)", nul, $(LDLIBS) cw64mt import64,, $(filter %$(RES_EXT),$(^F)) $(LDSTRIP) else LD_RULE = $(LD) $(LDFLAGS) $(HB_LDFLAGS) $(HB_USER_LDFLAGS) c0x32.obj $(filter-out %$(RES_EXT),$(^F)), "$(subst /,$(BACKSLASH),$(BIN_DIR)/$@)", nul, $(LDLIBS) cw32mt import32,, $(filter %$(RES_EXT),$(^F)) $(LDSTRIP) endif LDLIBS := $(strip $(HB_USER_LIBS) $(LIBS) $(3RDLIBS) $(SYSLIBS)) ifeq ($(HB_COMPILER),bcc64) AR := tlib64.exe else AR := tlib.exe endif ifeq ($(HB_COMPILER),bcc32c) ARFLAGS += /C /P128 else ARFLAGS += /P128 endif ifeq ($(HB_SHELL),sh) q = ' else q = " endif AR_RULE = $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) $(q)$(subst /,$(BACKSLASH),$(LIB_DIR)/$@)$(q) $(foreach file,$(?F),-+$(file)) ifneq ($(HB_SHELL),sh) ifeq ($(HB_SHELL_XP),) ifeq ($(HB_SHELL),nt) LINECONT := ^& else LINECONT := & endif # NOTE: Command-line limit length defeating methods found below # are only needed to support pre-Windows XP systems, where # limit is 2047 chars. [vszakats] # NOTE: The empty line directly before 'endef' HAS TO exist! define library_object @$(ECHO) $(ECHOQUOTE)-+$(subst /,$(ECHOBACKSLASH),$(file)) $(LINECONT)$(ECHOQUOTE) >> __lib__.tmp endef define create_library $(if $(wildcard __lib__.tmp),@$(RM) __lib__.tmp,) $(foreach file,$(?F),$(library_object)) @$(ECHO) $(ECHOQUOTE)-+$(ECHOQUOTE)>> __lib__.tmp $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) "$(subst /,$(BACKSLASH),$(LIB_DIR)/$@)" @__lib__.tmp endef AR_RULE = $(create_library) endif endif ifeq ($(HB_COMPILER),bcc64) DY := ilink64.exe else DY := ilink32.exe endif DFLAGS += -q -Gn -C -aa -Tpd -Gi -x $(LIBPATHS) DY_OUT := # NOTE: .lib extension not added to keep line short enough to work on Win9x/ME ifeq ($(HB_COMPILER),bcc64) DLIBS := $(HB_USER_LIBS) $(LIBS) $(3RDLIBS) $(SYSLIBS) cw64mt import64 else DLIBS := $(HB_USER_LIBS) $(LIBS) $(3RDLIBS) $(SYSLIBS) cw32mt import32 endif # NOTE: The empty line directly before 'endef' HAS TO exist! define dynlib_object @$(ECHO) $(ECHOQUOTE)$(subst /,$(ECHOBACKSLASH),$(file)) +$(ECHOQUOTE) >> __dyn__.tmp endef define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(foreach file,$^,$(dynlib_object)) @$(ECHO) $(ECHOQUOTE), $(subst /,$(ECHOBACKSLASH),$(DYN_DIR)/$@),, $(subst /,$(ECHOBACKSLASH),$(DLIBS))$(ECHOQUOTE) >> __dyn__.tmp ifeq ($(HB_COMPILER),bcc64) $(DY) $(DFLAGS) $(HB_USER_DFLAGS) c0d64.o @__dyn__.tmp else $(DY) $(DFLAGS) $(HB_USER_DFLAGS) c0d32.obj @__dyn__.tmp endif @$(CP) $(subst /,$(DIRSEP),$(DYN_DIR)/$(basename $@)$(LIB_EXT)) $(subst /,$(DIRSEP),$(IMP_FILE)) @$(RM) $(subst /,$(DIRSEP),$(DYN_DIR)/$(basename $@)$(LIB_EXT)) endef DY_RULE = $(create_dynlib) include $(TOP)$(ROOT)config/rules.mk
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: FWH 26.03 betatesters wanted

Post by carlos vargas »

ademas de crear en el mismo directorio el archivo: bcc32c.mk

Code: Select all | Expand

include $(TOP)$(ROOT)config/$(HB_PLATFORM)/bcc.mk
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: FWH 26.03 betatesters wanted

Post by carlos vargas »

otro asunto fue que pude construir harbour con bcc32c y con bcc64 de la versión bcc77 y bcc78 (sip es la versión más reciente)
pero el hbmk2.exe salía corrupto y por tanto no me construía las contrib, me mostraba un problemas con los codepage, para poder hacer que se construyera correctamente tuve que modificar las fuentes de harbour de la carpeta \src\codepage y \src\lang, con este código:
esto lo encontre en los grupos de google.

Antonio, como has construido tu harbour?
sería bueno no hacer este paso ya que se modifica las fuentes de harbour.

Code: Select all | Expand


aDir = DIRECTORY( "src\codepage\*.*" )

FOR i = 1 TO LEN( aDir )
    cTxt = MEMOREAD( "src\codepage\" + aDir[ i, F_NAME ] )

    cTxt = TOOCTAL( cTxt )

    IF cTxt != NIL
        MEMOWRIT( "src\codepage\" + aDir[ i, F_NAME ], cTxt, .F. )
    ENDIF
NEXT

aDir = DIRECTORY( "src\lang\*.*" )

FOR i = 1 TO LEN( aDir )
    cTxt = MEMOREAD( "src\lang\" + aDir[ i, F_NAME ] )

    cTxt = TOOCTAL( cTxt )

    IF cTxt != NIL
        MEMOWRIT( "src\lang\" + aDir[ i, F_NAME ], cTxt, .F. )
    ENDIF
NEXT

 STATIC FUNCTION TOOCTAL( cTxt )

LOCAL cRes := ""

LOCAL nVal, cVal

LOCAL lUtf := .F.

LOCAL i

FOR i = 1 TO LEN( cTxt )
    IF ASC( SUBSTR( cTxt, i, 1 ) ) <= 127
        cRes += SUBSTR( cTxt, i, 1 )
    ELSE
        nVal = ASC( SUBSTR( cTxt, i, 1 ) )

        cVal = ""

        WHILE nVal / 8 > 0
            cVal = NTRIM( INT( nVal % 8 ) ) + cVal
            nVal = INT( nVal / 8 )
        ENDDO

        cRes += "\" + cVal

        lUtf = .T.
    ENDIF
NEXT

RETURN IF( lUtf, cRes, NIL )   
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: FWH 26.03 betatesters wanted

Post by carlos vargas »

demas, he estado trabajando en \util\hbmk2\hbmk2.prg para que soporte bcc32c,
http://carlosvargas.duckdns.org/ownclou ... DwP2wKz31K

de esta forma podemos usar la macro {bcc32c}

Esto es un ejemplo de uso:
prestamos.hbp

#CONFIGURACION INICIAL
-hbexe
{bcc}-o${hb_name}b
{bcc32c}-o${hb_name}32c
{mingw}-o${hb_name}g
-workdir=obj\
-jobs=%NUMBER_OF_PROCESSORS%
-compr
-info
-trace
-static
-fullstatic
-strip
-beep
-run
-map-
-inc

#-instpath=d:\prestamos\
#-instfile=dbconfig.Exe

#FLAGS A USAR POR COMPILADOR C, COMPILADOR HARBOUR, COMPILADOR RECURSOS Y ENLAZADOR
-prgflag=/m /n /gc0 /w0 /es2 /q0 /ql /dDEV2;EDITAR_REPORTE2
-cflag=-DWINVER=0x0601
-cflag=-D_WIN32_WINNT=0x0601
-cflag=-DNTDDI_VERSION=NTDDI_WIN7
{mingw}-ldflag=-s
{mingw}-ldflag=-Wl,--allow-multiple-definition
{mingw}-ldflag=-Wl,--large-address-aware
{mingw}-ldflag=--enable-stdcall-fixup
{bccbcc32c}-ldflag=/GF:LARGEADDRESSAWARE
{bccbcc32c}-ldflag=-x
{bcc||bcc32c}-ldflag=-V6.1
-resflag=-DFLAT

#DRIVE GT A USAR
-gtgui

#RUTAS DE INCLUDES
-incpath=d:\fwh\include
-incpath=d:\fwh\include2
-incpath=include

#RUTAS DE .LIB Ó .A
-Ld:\fwh\lib

#LIBRERIAS A UTILIZAR DE FWH Y OTRAS
{bcc}-lpatch
{bcc}-lfiveh
{bcc}-lfivehc
{bcc}-llibmysql

{bcc32c}-lpatch32c
{bcc32c}-lfiveh32c
{bcc32c}-lfivehc32c
{bcc32c}-llibmysql32c

{mingw}-lpatch
{mingw}-lfivehg
{mingw}-lfivehgc
{mingw}-llibmysql
{mingw|bcc}-lhbtmysql
{bcc32c}-lhbtmysql32c

#LIBRERIAS DE C COMPILER
-lgdiplus -lversion
-lodbc32 -lsetupapi -lpsapi
-lopengl32 -loledlg -lvfw32 -lwsock32 -lurlmon
-luxtheme -lshcore
{mingw}-lucrt
{mingw}-lstdc++

#MODULOS DE CONTRIB
hbct.hbc
xhb.hbc
hbziparc.hbc
hbmisc.hbc
hbnf.hbc

#MODULOS PROPIOS (EL PRIMERO ES EL MODULO PRINCIPAL)
source\prestamos.prg
source\prestamos_acercade.prg
source\prestamos_conectar.prg
source\prestamos_acceso.prg
source\prestamos_menu.prg
source\prestamos_contadores.prg
source\prestamos_feriados.prg
source\prestamos_rutas.prg
source\prestamos_usuarios.prg
source\prestamos_clientes.prg
source\prestamos_cobradores.prg
source\prestamos_cat.prg
source\prestamos_nuevo.prg
source\prestamos_pagos.prg
source\prestamos_ajustes.prg
source\prestamos_ver.prg
source\prestamos_mora.prg
source\prestamos_cobranza.prg
source\prestamos_cierrecobro.prg
source\prestamos_reportes.prg
source\prestamos_respaldo.prg
source\fun_extenciones.prg

source\fun_showerror.prg
source\fun_msgget.prg
source\fun_visor.prg
source\fun_varias.prg

source\fwsrc\tmytitle.prg
source\fwsrc\rpreview.prg
source\fwsrc\msgrun.prg
source\fwsrc\msglist.prg
source\fwsrc\wait.prg

#MODULO .RC
resource\prestamos.rc

c_bcc32c.cmd

@echo off
set path=%path%;d:\compiler\bcc\bin;d:\compiler\harbour\bin
set HB_USER_RESCOMPILER=rc.exe
set HB_USER_RESFLAGS=-Id:\compiler\bcc\include\windows;d:\compiler\bcc\include\windows\sdk
del obj\*.* /Q
hbmk2 prestamos.hbp -comp=bcc32c
pause

c_bcc.cmd

Code: Select all | Expand

@echo off
set path=%path%;d:\compiler\bcc\bin;d:\compiler\harbour\bin
set HB_USER_RESCOMPILER=rc.exe
set HB_USER_RESFLAGS=-Id:\compiler\bcc\include\windows;d:\compiler\bcc\include\windows\sdk
del obj\*.* /Q
hbmk2 prestamos.hbp -comp=bcc
pause

Esto, con el hbmk2 que deje en el link

Image

aca dejo el ejecutable, lo he renombrado a hbmk3.exe, por comodidad y que no afecte a hbmk2.exe, algo que he agregado es que podemos indicarle que use el compilador de recursos RC.EXE de microsoft, en lugar del del borland/embarcadero, usando una raviable de entorno, ver ejemplo del bat.

http://carlosvargas.duckdns.org/ownclou ... 3QIF6zHaFf

Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: FWH 26.03 betatesters wanted

Post by Antonio Linares »

alerchster wrote: Thu Mar 26, 2026 4:15 pm

fivedbu.prg

compiled with BCC770 32 Bit runs OK
compiled with MSVC 32 and 64 Bit some Dialogs will not be shown
example: "Setup" "Preferences", Buttonbar "Search" and many more

fwstring with german "öäü" is now ok

compiled with MSVC 32 and 64 Bit some Dialogs will not be shown

which ones ?

many thanks for your feedback! :)

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: FWH 26.03 betatesters wanted

Post by alerchster »

Dear Antonio

Fivedbu compiled with Harbour and MSVC 32 and 64Bit
Open one DBF File, click on Buttonbar, Dialog,s for Search, Filters, Structure, Import/Export, Report will not be shown, without any error message!

Regards

Ing. Anton Lerchster
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: FWH 26.03 betatesters wanted

Post by Antonio Linares »

Dear Anton,

Bug located and fixed. Due to the support of bcc77 LLVM/CLang we did a change in the alignment of dialogs templates, this change was not correct for msvc.

Thank you so much for your great feedback :!: :)

Tomorrow we will have a new beta ready :!:

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: FWH 26.03 betatesters wanted

Post by alerchster »

Dear Antonio

Fivedbu compiled with Harbour and BCC 32, MSVC 32 and 64Bit runs now ok!

There are only designerrors, which can be cleaned, seems they are for test anything.

Regards

Ing. Anton Lerchster
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: FWH 26.03 betatesters wanted

Post by Antonio Linares »

Dear Anton,

There are only designerrors, which can be cleaned, seems they are for test anything.

Please explain it with more detail, thank you :)

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: FWH 26.03 betatesters wanted

Post by alerchster »

Dear Antonio

Fivedbu compiled with Harbour and BCC 770 32Bit MSVC 32 and 64Bit
Open one DBF File, - right side of buttonbar now a new button with "Test" ok - is for analize.
Set Language to german!
Click Button Search (Suche) on Buttonbar - following Dialog show's the string for "Key" - in german "Schlüssel", but it displays not "Schlüssel".
Close Database
Click Button New (Neu) on Buttonbar - following Dialog show's the string for "Len" in german "Länge", but it display not "Länge".

I don't understand why, if i make a msginfo(fwstring("Key")) there display correct "Schlüssel" and if i make a msginfo(fwstring("Len")) there display correct "Länge"

This issue was although before Version 26.03.

Regards

Ing. Anton Lerchster
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: FWH 26.03 betatesters wanted

Post by alerchster »

Dear Antonio

There are Problems with german language on dialogs it is same in fivedbu with "Key" and "Len" posted before
Regardless of whether it's compiled with bcc or msvc

Code: Select all | Expand

// Working with MDI enviroments

#include "FiveWin.ch"

static oWnd

//----------------------------------------------------------------------------//

function Main()
   
fwsetlanguage(5) DEFINE WINDOW oWnd TITLE "Probando Recuperar Focus del Dialogo" ; MDI ; MENU BuildMenu() SET MESSAGE OF oWnd TO "Main Window" ACTIVATE WINDOW oWnd MAXIMIZED ; VALID MsgYesNo( "Want to End ?" ) return nil //----------------------------------------------------------------------------// function BuildMenu() local oMenu MENU oMenu MENUITEM "&Information" MENU MENUITEM "&DIALGOS 1" ACTION Dlg( fwstring("Len") ) MENUITEM "&DIALOGS 2" ACTION Dlg( fwstring("Key") ) SEPARATOR MENUITEM "&End..." ACTION oWnd:End() ENDMENU ENDMENU return oMenu //----------------------------------------------------------------------------// STATIC FUNCTION Dlg( cTest ) local oDlg DEFINE DIALOG oDlg TITLE cTest OF oWND oDlg:bGotFocus = {|| oWnd:SetText( cTest ) }
@ 1, 5 Say cTest @ 3, 5 BUTTON "&Ok" ACTION oDlg:End() ACTIVATE DIALOG oDlg NOWAIT return .t.
Regards

Ing. Anton Lerchster
ratazul
Posts: 5
Joined: Wed Aug 31, 2011 8:55 pm

Re: FWH 26.03 betatesters wanted

Post by ratazul »

Estoy interesado en ser Betatester, que hay que hacer para inscribirse?

User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: FWH 26.03 betatesters wanted

Post by Antonio Linares »

ratazul wrote: Fri Mar 27, 2026 7:06 pm

Estoy interesado en ser Betatester, que hay que hacer para inscribirse?

Tienes una aplicación grande hecha con FWH para probar ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: FWH 26.03 betatesters wanted

Post by Antonio Linares »

alerchster wrote: Fri Mar 27, 2026 1:05 pm

Dear Antonio

There are Problems with german language on dialogs it is same in fivedbu with "Key" and "Len" posted before
Regardless of whether it's compiled with bcc or msvc

Code: Select all | Expand

// Working with MDI enviroments

#include "FiveWin.ch"

static oWnd

//----------------------------------------------------------------------------//

function Main()
   
fwsetlanguage(5) DEFINE WINDOW oWnd TITLE "Probando Recuperar Focus del Dialogo" ; MDI ; MENU BuildMenu() SET MESSAGE OF oWnd TO "Main Window" ACTIVATE WINDOW oWnd MAXIMIZED ; VALID MsgYesNo( "Want to End ?" ) return nil //----------------------------------------------------------------------------// function BuildMenu() local oMenu MENU oMenu MENUITEM "&Information" MENU MENUITEM "&DIALGOS 1" ACTION Dlg( fwstring("Len") ) MENUITEM "&DIALOGS 2" ACTION Dlg( fwstring("Key") ) SEPARATOR MENUITEM "&End..." ACTION oWnd:End() ENDMENU ENDMENU return oMenu //----------------------------------------------------------------------------// STATIC FUNCTION Dlg( cTest ) local oDlg DEFINE DIALOG oDlg TITLE cTest OF oWND oDlg:bGotFocus = {|| oWnd:SetText( cTest ) }
@ 1, 5 Say cTest @ 3, 5 BUTTON "&Ok" ACTION oDlg:End() ACTIVATE DIALOG oDlg NOWAIT return .t.

Dear Anton,

Fixed! I am sending you new 26.03 build

Many thanks for your great feedback :!:

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
alerchster
Posts: 154
Joined: Mon Oct 22, 2012 4:43 pm

Re: FWH 26.03 betatesters wanted

Post by alerchster »

Dear Antonio

How was it solved?

I had the idea to solve it using fwstring and return oemtoansi(hb__utf8tostr(cstring)) – that was a bad idea because it caused the labeling error with buttons and combo boxes – not only in German but also in Spanish. While this solution fixed the problem with dialogs, it also opened up other, as yet unknown, issues. P.S. In the latest beta version, I can't compile with bcc32; there are many warnings and errors with unresolved external __Sinx in fiveh.lib.

Fivedbu compiled with Harbour and MSVC 32-bit and 64-bit now produces the errors described above for buttons and combo boxes..

Regards

Ing. Anton Lerchster
Post Reply