FWH 26.03 betatesters wanted

User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: FWH 26.03 betatesters wanted

Post by karinha »

Buenas tardes, maestro. El problema al guardar el archivo .PDF está resuelto. Sin embargo, la acentuación de FWSTRING() sigue sin funcionar. En lugar de acentuar, sigue mostrando <?>. Incluso el instalador de FiveWin muestra la acentuación incorrecta. idioma español.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: FWH 26.03 betatesters wanted

Post by karinha »

Maestro, parcialmente resuelto con FW_SetUnicode( .T. ). Solo una función FWSTRING() no funcionó en el MENU:

Code: Select all | Expand

         MENUITEM FWString( "Attention" ) + " - Dialog Test" ACTION TestDlg() ;
            FILENAME "..\bitmaps\16x16\info.bmp"

Code: Select all | Expand

#include "FiveWin.ch"

EXTERNAL HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850

#ifNdef __XHARBOUR__     // Somente para HARBOUR, XHARBOUR nao tem isso ainda.
   REQUEST HB_CODEPAGE_UTF8
   REQUEST HB_CODEPAGE_UTF8EX
#endif

STATIC oWnd, lDummy1 := .f.

function Main()

   LOCAL oBar

   // FWSetLanguage( 5 ) // German
   FWSetLanguage( 4 )  // Portuguese

   HB_LANGSELECT( 'PT' )
   HB_SETCODEPAGE( "UTF8" )
   HB_CDPSELECT( "UTF8EX" )
   HB_SETCODEPAGE( "PT850" )
   HB_CDPSELECT( "PTISO" )

   FW_SetUnicode( .T. )  // Resuelto parcial - MENU problemas.

   DEFINE WINDOW oWnd TITLE FWString( "Testing Accented Characters - " ) +    ;
                            FWString( "Attention" )                           ;
      MENU BuildMenu() MDI

   DEFINE BUTTONBAR oBar BUTTONSIZE 75, 70 _3DLOOK TOP OF oWnd 2007

   DEFINE BUTTON OF oBar PROMPT FWString( "Add" )    ACTION TestDlg()         ;
      FILENAME "..\bitmaps\16x16\new.bmp" FLAT

   DEFINE BUTTON OF oBar PROMPT FWString( "Edit" )   ACTION TestDlg()         ;
      FILENAME "..\bitmaps\16x16\open.bmp" FLAT

   DEFINE BUTTON OF oBar PROMPT FWString( "Search" ) ACTION TestDlg()         ;
      FILENAME "..\bitmaps\16x16\floppy.bmp" FLAT

   DEFINE BUTTON OF oBar PROMPT FWString( "Delete" ) ACTION TestDlg()         ;
      FILENAME "..\bitmaps\16x16\delete.bmp" FLAT

   DEFINE BUTTON OF oBar PROMPT FWString( "Setup" )  ACTION TestDlg()         ;
      FILENAME "..\bitmaps\16x16\open32.bmp" FLAT

   DEFINE BUTTON OF oBar PROMPT FWString( "Exit" )   ACTION oWnd:End()        ;
      FILENAME "..\bitmaps\16x16\exit.bmp" FLAT

   SET MESSAGE OF oWnd TO "ButtonBar: " + ;
      FWString("Add") + " | " + FWString("Edit") + " | " + ;
      FWString("Search") + " | " + FWString("Delete") + " | " + FWString("Setup") + ;
      "  [GetACP=" + AllTrim( Str( GetACP() ) ) + ;
      " HBCDP=" + AllTrim( Str( HbCDP() ) ) + "]" 2007

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      VALID MsgYesNo( FWString( "Want to end ?" ), FWString( "Attention" ) )

RETURN NIL

function BuildMenu()

   LOCAL oMenu

   MENU oMenu 2007

  MENUITEM FWString( "&Test" ) // ahora funciona

  MENU

     MENUITEM FWString( "Attention" ) + " - Dialog Test" ACTION TestDlg() ;
        FILENAME "..\bitmaps\16x16\info.bmp"

     SEPARATOR
     MENUITEM "Language &1: English"    ACTION ( FWSetLanguage( 1 ), oWnd:SetMenu( BuildMenu() ), TestDlg() ) ;
        FILENAME "..\bitmaps\16x16\faces.bmp"

     SEPARATOR
     MENUITEM "Language &2: Spanish"    ACTION ( FWSetLanguage( 2 ), oWnd:SetMenu( BuildMenu() ), TestDlg() )  ;
     FILENAME "..\bitmaps\edit.bmp"

     SEPARATOR
     MENUITEM "Language &3: French"     ACTION ( FWSetLanguage( 3 ), oWnd:SetMenu( BuildMenu() ), TestDlg() ) ;
        FILENAME "..\bitmaps\16x16\delete.bmp"

     SEPARATOR
     MENUITEM "Language &4: Portuguese" ACTION ( FWSetLanguage( 4 ), oWnd:SetMenu( BuildMenu() ), TestDlg() ) ;
        FILENAME "..\bitmaps\16x16\browse.bmp"

     SEPARATOR
     MENUITEM "Language &5: German"     ACTION ( FWSetLanguage( 5 ), oWnd:SetMenu( BuildMenu() ), TestDlg() ) ;
        FILENAME "..\bitmaps\16x16\calc.bmp"

     SEPARATOR
     MENUITEM "Language &6: Italian"    ACTION ( FWSetLanguage( 6 ), oWnd:SetMenu( BuildMenu() ), TestDlg() ) ;
        FILENAME "..\bitmaps\16x16\explorer.bmp"

     SEPARATOR
     MENUITEM "&Exit" ACTION oWnd:End() ;
        FILENAME "..\bitmaps\16x16\exit.bmp"

  ENDMENU

   ENDMENU

RETURN( oMenu )

STATIC FUNCTION TestDlg()

   local oDlg, oSay1, oSay2, oBtn1, oBtn2, oBtn3, oBtn4, oChk1, oCbx1
   local cAdd, cEdit, cSearch, cDelete, cSetup, cAttention, cPrintErr
   local aLangs, nSelLang, cTitle, cAtt, cPr

   cAdd       := FWString( "Add" )
   cEdit      := FWString( "Edit" )
   cSearch    := FWString( "Search" )
   cDelete    := FWString( "Delete" )
   cSetup     :=  FWString( "Setup" )
   cAttention := FWString( "Attention" )
   cPrintErr  := FWString( "Printing Error" )

   aLangs     := { FWString( "English" ), FWString( "Spanish" ), FWString( "French" ), ;
                   FWString( "Portuguese" ), FWString( "German" ), FWString( "Italian" ) }
   nSelLang   := FWSetLanguage()

   // ASI, FUNCIONA EN EL BUTTON, NO COMPRENDO ??? jajajaja.
   cAtt := cAttention + SPACE( 02 ) // + " Error" // ERROR IN BUTTON: Attention

   // ASI, NO FUNCIONA EN EL DIALOGO DE FORMA NINGUNA.
   cPr  := cPrintErr  + SPACE( 02 ) // Erro de impressao... con ~

   // no funciona en el titulo del dialogo. ???
   cTitle := "FWH: " + cAtt + " - " + cPr

   // ? cTitle  // Esta correcto, pero no muestra en el dialogo ?

   // ? OemToansi( cAttention ) // error
   // ? AnsiToOem( cAttention ) // error

   // cTitle := "FWH: titulo do dialogo nao esta funcionando"
   DEFINE DIALOG oDlg TITLE cAttention + " / " + cPrintErr SIZE 520, 450

   //-> TITLE CON ERROR. EN PORTUGUES.
   // DEFINE DIALOG oDlg TITLE cTitle SIZE 550, 450 // TRANSPARENT

   oDlg:lHelpIcon := .F.

   // --- SAY controls ---
   @ 0.5, 1 SAY "=== SAY Controls ===" OF oDlg
   @ 1.5, 1 SAY "Add: "       + cAdd       OF oDlg
   @ 2.3, 1 SAY "Edit: "      + cEdit      OF oDlg
   @ 3.1, 1 SAY "Search: "    + cSearch    OF oDlg
   @ 3.9, 1 SAY "Delete: "    + cDelete    OF oDlg
   @ 4.7, 1 SAY "Setup: "     + cSetup     OF oDlg
   @ 5.5, 1 SAY oSay1 PROMPT "Attention: " + cAttention OF oDlg
   @ 6.3, 1 SAY oSay2 PROMPT "Print Error: "  + cPrintErr  OF oDlg

   // --- BUTTON controls ---
   @ 0.5, 16 SAY "=== BUTTON Controls ===" OF oDlg
   @ 1.5, 16 BUTTON oBtn1 PROMPT cAdd      OF oDlg SIZE 50, 12 ACTION MsgInfo( cAdd )

   @ 3.0, 16 BUTTON oBtn2 PROMPT cEdit     OF oDlg SIZE 50, 12 ACTION MsgInfo( cEdit )

   @ 4.5, 16 BUTTON oBtn3 PROMPT cSearch   OF oDlg SIZE 50, 12 ACTION MsgInfo( cSearch )

   // --- More buttons with accented text ---
   @ 0.5, 26 SAY "=== More Buttons ===" OF oDlg

   // AQUI, TAMBIEN MUESTRA cAttention CON ERROR EN PORTUGUES. CON SPACE(02), FUNCIONA.
   //   @ 1.5, 26 BUTTON cAttention OF oDlg SIZE 50, 12 ACTION MsgInfo( cAttention )
   @ 1.5, 26 BUTTON cAtt       OF oDlg SIZE 50, 12 ACTION MsgInfo( cAttention )

   @ 3.0, 26 BUTTON cPrintErr  OF oDlg SIZE 50, 12 ACTION MsgInfo( cPrintErr )
   @ 4.5, 26 BUTTON oBtn4 PROMPT cDelete OF oDlg SIZE 50, 12 ACTION MsgInfo( cDelete )
   
// --- CHECKBOX controls --- @ 7.5, 1 SAY "=== CHECKBOX ===" OF oDlg @ 9.5, 1.5 CHECKBOX oChk1 VAR lDummy1 PROMPT cAdd OF oDlg SIZE 50, 12 // --- COMBOBOX control --- @ 7.5, 16 SAY "=== COMBOBOX ===" OF oDlg @ 9.5, 16 COMBOBOX oCbx1 VAR nSelLang ITEMS aLangs OF oDlg SIZE 120, 150 // --- Debug info --- @ 10.5, 1 SAY "=== Debug Info ===" OF oDlg @ 11.3, 1 SAY 'Add="' + cAdd + '" hex=' + StrToHex( cAdd ) OF oDlg @ 12.1, 1 SAY 'Attention="' + cAttention + '" hex=' + StrToHex( cAttention ) OF oDlg @ 12.9, 1 SAY "GetACP()=" + AllTrim( Str( GetACP() ) ) + ; " GetOEMCP()=" + AllTrim( Str( GetOEMCP() ) ) + ; " HbCDP=" + AllTrim( Str( HbCDP() ) ) OF oDlg // Show IsWindowUnicode info after dialog is created @ 14.2, 1 BUTTON "&Diagnose" OF oDlg SIZE 50, 13 ; ACTION DiagnoseControls( oDlg, oSay1, oBtn1, oChk1, oCbx1 ) @ 14.2, 15 BUTTON "&Ok" OF oDlg SIZE 45, 13 ACTION oDlg:End() @ 14.2, 26 BUTTON "&Cancel" OF oDlg SIZE 45, 13 ACTION oDlg:End() ACTIVATE DIALOG oDlg CENTERED ; ON INIT DiagnoseControls( oDlg, oSay1, oBtn1, oChk1, oCbx1 ) return nil static function DiagnoseControls( oDlg, oSay, oBtn, oChk, oCbx ) local cInfo := "" cInfo += "Dialog hWnd Unicode: " + cYesNo( IsWindowUnicode( oDlg:hWnd ) ) + CRLF if oSay != nil cInfo += "SAY hWnd Unicode: " + cYesNo( IsWindowUnicode( oSay:hWnd ) ) + ; " lUnicode=" + cYesNo( oSay:lUnicode ) + CRLF endif if oBtn != nil cInfo += "BUTTON hWnd Unicode: " + cYesNo( IsWindowUnicode( oBtn:hWnd ) ) + ; " lUnicode=" + cYesNo( oBtn:lUnicode ) + CRLF endif if oChk != nil cInfo += "CHECKBOX hWnd Unicode: " + cYesNo( IsWindowUnicode( oChk:hWnd ) ) + ; " lUnicode=" + cYesNo( oChk:lUnicode ) + CRLF endif if oCbx != nil cInfo += "COMBOBOX hWnd Unicode: " + cYesNo( IsWindowUnicode( oCbx:hWnd ) ) + ; " lUnicode=" + cYesNo( oCbx:lUnicode ) + CRLF endif cInfo += CRLF cInfo += "GetACP() = " + AllTrim( Str( GetACP() ) ) + CRLF cInfo += "GetOEMCP() = " + AllTrim( Str( GetOEMCP() ) ) + CRLF cInfo += "HbCDP() = " + AllTrim( Str( HbCDP() ) ) + CRLF cInfo += "FW_SetUnicode() = " + cYesNo( FW_SetUnicode() ) + CRLF cInfo += CRLF cInfo += "FWString('Add') = " + FWString("Add") + " hex=" + StrToHex( FWString("Add") ) + CRLF cInfo += "FWString('Attention') = " + FWString("Attention") + " hex=" + StrToHex( FWString("Attention") ) + CRLF cInfo += "FWString('Printing Err') = " + FWString("Printing Error") + " hex=" + StrToHex( FWString("Printing Error") ) MsgInfo( cInfo, "Diagnostic Info" ) return nil static function cYesNo( l ) return If( l, "YES", "NO" ) static function StrToHex( cStr ) local n, cHex := "" for n := 1 to Min( Len( cStr ), 20 ) cHex += PadL( hb_NumToHex( Asc( SubStr( cStr, n, 1 ) ) ), 2, "0" ) if n < Min( Len( cStr ), 20 ) cHex += " " endif next return cHex // FIN / END

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
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 »

Muchas gracias Joao :)

Nueva beta disponible :idea:

regards, saludos

Antonio Linares
www.fivetechsoft.com
Horizon
Posts: 1388
Joined: Fri May 23, 2008 1:33 pm

Re: FWH 26.03 betatesters wanted

Post by Horizon »

Hello. I was able to compile my own application without errors using version 26.03 beta.

The first error I encountered while testing the application was a runtime error related to the use of TFolder. Upon examining the class, it seems some improvements have been made. During these improvements, a logical error seems to have occurred when creating the aDialogs within the folder in the New() method.

Although compiling and running the folder.prg file in samples\misc doesn't result in an error, for some reason, the dialogs within the folder don't appear in my application, and I get a runtime error. The fix I made according to my own conditions, as described below, solved the problem. For your information.

Code: Select all | Expand

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

METHOD New( nTop, nLeft, aPrompts, aDialogs, oWnd, nOption, nClrFore,;
      nClrBack, lPixel, lDesign, nWidth, nHeight, cMsg, lAllWidth,;
      oFont, aHelps, cVarName ) CLASS TFolder

   local n, oDlg
   local lEmptyInit := ( PCount() == 0 )
.
.
   ::cVarName = cVarName

   if ! Empty( ::aPrompts ) //.and. ! Empty( oWnd:hWnd )    <- I made the change here. As you'll notice, `oWnd` is checked even though it's not used in this loop.
      for n = 1 to Len( ::aDialogs )
         oDlg = TFolderDialog():New( 0, 0, ::nHeight() - ::nFdHeight - 5, ::nWidth() - 6, ;
            nil, nil, nil, nil, nOr( WS_CHILD ), nClrFore, nClrBack, nil, Self, .T., ;
            nil, Self:oFont, if(len(::aHelps) >= n , ::aHelps[n] , NIL) )
         ::aDialogs[ n ] = oDlg
         oDlg:cVarName = "Page" + AllTrim( Str( n ) )
      next
   endif
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.06
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 Hakan,

What beta are you using ?

Yesterday we distributed beta 9 on whatsapp FWH 26.03 beta-testers group :idea:

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 »

fwh 26.03 beta 9

testfld2.prg - Compile with Harbour and BCC or MSVC

error.log

[code]Application

Path and name: C:\fwh_032026\samples\test\testfld2.exe (32 bits)
Size: 4,377,600 bytes
Compiler version: Harbour 3.2.0dev (r2503251254)
FiveWin version: FWH 26.03
C compiler version: Microsoft Visual C 19.32.31329 (32-bit)
Windows 10 64 Bits, version: 6.2, Build 9200

Time from start: 0 sec
Error occurred at: 03/30/26, 17:54:31
Error description: Error BASE/1004 No exported method: MOVE
Args:
[ 1] = U
[ 2] = N 24
[ 3] = N 2

Stack Calls

Called from: => MOVE( 0 )
Called from: source\classes\folder.prg => (b)TFOLDER_ADJUSTRECT( 1208 )
Called from: => AEVAL( 0 )
Called from: source\classes\folder.prg => TFOLDER:ADJUSTRECT( 1208 )
Called from: source\classes\folder.prg => TFOLDER:INITIATE( 377 )
Called from: => __OBJSENDMSG( 0 )
Called from: source\function\harbour.prg => OSEND( 296 )
Called from: source\function\harbour.prg => ASEND( 264 )
Called from: source\classes\dialog.prg => TDIALOG:INITIATE( 933 )
Called from: source\classes\dialog.prg => TDIALOG:HANDLEEVENT( 1274 )
Called from: => DIALOGBOX( 0 )
Called from: source\classes\dialog.prg => TDIALOG:ACTIVATE( 338 )
Called from: testfld2.prg => MAIN( 39 )

System

CPU type: Intel(R) Core(TM) i7-4702HQ CPU @ 2.20GHz 2195 Mhz
Hardware memory: 16288 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Windows total applications running: 1
1 ,

Variables in use

Procedure Type Value

==========================

MOVE
Param 1: O Class: ERROR
(b)TFOLDER_ADJUSTRECT
Param 1: N 24
Param 2: N 2
Local 1: U
Local 2: U
AEVAL
Param 1: U
Param 2: N 3
TFOLDER:ADJUSTRECT
Param 1: A Len: 4
Param 2: B {|| ... }
TFOLDER:INITIATE
Local 1: A Len: 4
__OBJSENDMSG
Param 1: N 1050832
Local 1: N 3
OSEND
Param 1: O Class: TFOLDER
Param 2: C "INITIATE"
Param 3: N 1050832
ASEND
Param 1: O Class: TFOLDER
Param 2: C "INITIATE"
Param 3: N 1050832
TDIALOG:INITIATE
Param 1: A Len: 2
Param 2: C "INITIATE()"
Param 3: N 1050832
Local 1: S @OSEND()
TDIALOG:HANDLEEVENT
Param 1: N 3211946
Param 2: N 1050832
Local 1: L .T.
Local 2: U
Local 3: U
Local 4: L .F.
Local 5: U
Local 6: U
DIALOGBOX
Param 1: N 272
Param 2: N 3211946
Param 3: N 1050832
TDIALOG:ACTIVATE
Param 1: N 12713984
Param 2: C "Test"
Param 3: N 0
Param 4: O Class: TDIALOG
MAIN
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Param 10: U
Param 11: U
Param 12: L .F.
Param 13: O Class: TDIALOG
Param 14: U
Param 15: U
Local 1: N 0
Local 2: S @_NRESULT()
Local 3: O Class: TDIALOG

Linked RDDs

DBF
DBFFPT
DBFBLOB
DBFCDX
DBFNTX

Databases in use Classes in use:

1 ERROR
2 HBCLASS
3 HBOBJECT
4 TWINDOW
5 TDIALOG
6 TBRUSH
7 TCONTROL
8 TFOLDER
9 TFONT
10 TREG32
11 TFOLDERDIALOG
12 TCOMBOBOX
13 TGET
14 GET
15 TCLIPGET
16 TBUTTON
17 TSTRUCT

Memory Analysis

736 Static variables

Dynamic memory consume:
Actual Value: 1048576 bytes
Highest Value: 1048576 bytes
[/code]

Regards

Ing. Anton Lerchster
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: FWH 26.03 betatesters wanted

Post by karinha »

Confirmo que hay un error en todos los archivos TESFLD?.PRG.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Horizon
Posts: 1388
Joined: Fri May 23, 2008 1:33 pm

Re: FWH 26.03 betatesters wanted

Post by Horizon »

Antonio Linares wrote: Mon Mar 30, 2026 2:36 pm

Dear Hakan,

What beta are you using ?

Yesterday we distributed beta 9 on whatsapp FWH 26.03 beta-testers group :idea:

beta 9. I think last beta.

Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.06
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 »

karinha wrote: Mon Mar 30, 2026 4:40 pm

Confirmo que hay un error en todos los archivos TESFLD?.PRG.

Regards, saludos.

Arreglado :idea: :wink:

regards, saludos

Antonio Linares
www.fivetechsoft.com
Horizon
Posts: 1388
Joined: Fri May 23, 2008 1:33 pm

Re: FWH 26.03 betatesters wanted

Post by Horizon »

Hi Antonio,
I'm testing fwh 2603. I think Turkish characters are still corrupted due to fwUnicode(.f.) and theme-defined conditions. We previously solved this problem in the thread below. I'm sending an example. Thank you.

viewtopic.php?p=267482#p267482

turkish.rc

Code: Select all | Expand

1 24 "WindowsXP.Manifest"

Code: Select all | Expand

#include "fivewin.ch"

REQUEST HB_CODEPAGE_TRWIN

function Main()

   local oDlg, oGet, oFont, nKey := 0
   local cVar  := Space( 10 )

   HB_CDPSELECT( "TRWIN" )
   FW_SetUnicode( .f. )
   SetGetColorFocus()

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-20 CHARSET 162 // Use the charset that works for you

   DEFINE DIALOG oDlg SIZE 450,300 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION

   @  40, 40 GET oGet VAR cVar SIZE 200,32 PIXEL OF oDlg ON CHANGE oDlg:Update()

   oGet:bKeyChar  := { |k| nKey := k }

   @  40,300 SAY { || "Key: " + Str( nKey, 3 ) } SIZE 120,30 PIXEL UPDATE

   @  80, 40 SAY { || StrToHex( Trim( cVar ), " " ) } SIZE 390,32 PIXEL OF oDlg UPDATE

   @ 120, 40 SAY { || ListAsc( cVar ) } SIZE 390,70 PIXEL OF oDlg UPDATE

   @ 200, 40 SAY { || If( IsWindowUnicode( oGet:hWnd ), "UTF8", "ANSI" ) + ;
      " GET" } SIZE 200,32 PIXEL OF oDlg UPDATE

   @ 200,310 BUTTON "CLOSE" SIZE 100,40 PIXEL OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED

   cVar  := Trim( cVar )

   ? cVar, StrToHex( cVar ), IsUtf8( cVar )

return nil

static function ListAsc( cVar )

   local aList := {}
   local c

   cVar  := Trim( cVar )
   for each c in cVar
      AAdd( aList, ASC( c ) )
   next

return FW_ArrayAsList( aList )
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.06
JoséQuintas
Posts: 104
Joined: Tue Feb 09, 2021 4:20 pm

Re: FWH 26.03 betatesters wanted

Post by JoséQuintas »

I am using fwh 26.03 as normal use.
gtwvg + fivewin + hwgui + multithread + my own ado wrapper class
harbour 3.2 from github with no extras, compiled here mingw 15.2
No problem with my current use.

José M. C. Quintas Brazil
gtwvg, fivewin 25.12, hwgui, mingw 15.2 (32 bits)

Horizon
Posts: 1388
Joined: Fri May 23, 2008 1:33 pm

Re: FWH 26.03 betatesters wanted

Post by Horizon »

Horizon wrote: Thu Apr 02, 2026 2:48 pm

Hi Antonio,
I'm testing fwh 2603. I think Turkish characters are still corrupted due to fwUnicode(.f.) and theme-defined conditions. We previously solved this problem in the thread below. I'm sending an example. Thank you.

viewtopic.php?p=267482#p267482

turkish.rc

Code: Select all | Expand

1 24 "WindowsXP.Manifest"

Code: Select all | Expand

#include "fivewin.ch"

REQUEST HB_CODEPAGE_TRWIN

function Main()

   local oDlg, oGet, oFont, nKey := 0
   local cVar  := Space( 10 )

   HB_CDPSELECT( "TRWIN" )
   FW_SetUnicode( .f. )
   SetGetColorFocus()

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-20 CHARSET 162 // Use the charset that works for you

   DEFINE DIALOG oDlg SIZE 450,300 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION

   @  40, 40 GET oGet VAR cVar SIZE 200,32 PIXEL OF oDlg ON CHANGE oDlg:Update()

   oGet:bKeyChar  := { |k| nKey := k }

   @  40,300 SAY { || "Key: " + Str( nKey, 3 ) } SIZE 120,30 PIXEL UPDATE

   @  80, 40 SAY { || StrToHex( Trim( cVar ), " " ) } SIZE 390,32 PIXEL OF oDlg UPDATE

   @ 120, 40 SAY { || ListAsc( cVar ) } SIZE 390,70 PIXEL OF oDlg UPDATE

   @ 200, 40 SAY { || If( IsWindowUnicode( oGet:hWnd ), "UTF8", "ANSI" ) + ;
      " GET" } SIZE 200,32 PIXEL OF oDlg UPDATE

   @ 200,310 BUTTON "CLOSE" SIZE 100,40 PIXEL OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED

   cVar  := Trim( cVar )

   ? cVar, StrToHex( cVar ), IsUtf8( cVar )

return nil

static function ListAsc( cVar )

   local aList := {}
   local c

   cVar  := Trim( cVar )
   for each c in cVar
      AAdd( aList, ASC( c ) )
   next

return FW_ArrayAsList( aList )

I have tested with fwh 26.03 beta 10. The same problem persists.

Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.06
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 Hakan,

What turkish word should I write in the example ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Otto
Posts: 7020
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Re: FWH 26.03 betatesters wanted

Post by Otto »

I think the issue in this example is here:

FW_SetUnicode( .f. )

You are explicitly disabling Unicode, so everything falls back to ANSI:

Windows controls run in ANSI mode
The selected codepage (e.g. TRWIN) dictates character interpretation

At that point, you are no longer dealing with Unicode at all — just legacy codepages.
Any corruption of Turkish characters is expected behavior in this setup.

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 »

Please try it this way. Here it seems to work fine:

Code: Select all | Expand

#include "fivewin.ch"

REQUEST HB_CODEPAGE_TRWIN

function Main()

   local oDlg, oGet, oFont, nKey := 0
   local cVar  := "Teşekkürler     "

   HB_CDPSELECT( "TRWIN" )
   FW_SetUnicode( .t. )
   SetGetColorFocus()

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-20 CHARSET 162 // Use the charset that works for you

   DEFINE DIALOG oDlg SIZE 450,300 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION

   @  40, 40 GET oGet VAR cVar SIZE 200,32 PIXEL OF oDlg ON CHANGE oDlg:Update()

   oGet:bKeyChar  := { |k| nKey := k }

   @  40,300 SAY { || "Key: " + Str( nKey, 3 ) } SIZE 120,30 PIXEL UPDATE

   @  80, 40 SAY { || StrToHex( Trim( cVar ), " " ) } SIZE 390,32 PIXEL OF oDlg UPDATE

   @ 120, 40 SAY { || ListAsc( cVar ) } SIZE 390,70 PIXEL OF oDlg UPDATE

   @ 200, 40 SAY { || If( IsWindowUnicode( oGet:hWnd ), "UTF8", "ANSI" ) + ;
      " GET" } SIZE 200,32 PIXEL OF oDlg UPDATE

   @ 200,310 BUTTON "CLOSE" SIZE 100,40 PIXEL OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED

   cVar  := Trim( cVar )

   MsgAlert( cVar, "Teşekkürler" )

   ? cVar, StrToHex( cVar ), IsUtf8( cVar )

return nil

static function ListAsc( cVar )

   local aList := {}
   local c

   cVar  := Trim( cVar )
   for each c in cVar
      AAdd( aList, ASC( c ) )
   next

return FW_ArrayAsList( aList )

Image
Image
Image

regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply