FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index Bugs report & fixes / Informe de errores y arreglos Unicode malfunction according to modal / nomodal format
Posts: 10
Joined: Tue Apr 17, 2018 11:39 AM
Unicode malfunction according to modal / nomodal format
Posted: Sat Apr 21, 2018 03:07 PM

For Unicode and UTF8 use
In the modal / nomodal dialog, tGet and mget control malfunction.
It works fine regardless of richiedit.

In other words
Activate Dialog == No abnormality
Activate Dialog NoModal == malfunction

In the future, most of the source coding will be in the MDI window
Dialog Child / NoModal type, so UTF8 input is required.

The current project execution is stopped.
Please help.

msc2017 use FWH 18.02

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 02:44 AM

We are checking it, please wait one day or two, thanks

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 10:43 AM
We are testing this example:

unimdi.prg
Code (fw): Select all Collapse
#include "fivewin.ch"

static aStr[ 5 ]

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

function Main()

   local oWnd, oBar, oFont

   FW_SetUnicode( .T. )
   SetGetColorFocus()

   AEval( aStr, { |u,i| aStr[ i ] := Space( 25 ) } )

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-18

   DEFINE WINDOW oWnd MDI TITLE "UNICODE GETS"

   DEFINE BUTTONBAR oBar SIZE 80,60 2007
   DEFINE BUTTON OF oBar PROMPT "MDI" + CRLF +  "Child"      CENTER ACTION ChildWindow()
   DEFINE BUTTON OF oBar PROMPT "Modal" + CRLF + "Dialog" CENTER ACTION NewDialog( .T. )
   DEFINE BUTTON OF oBar PROMPT "Nonmodal" + CRLF + "Dialog" CENTER ACTION NewDialog()

   oWnd:SetFont( oFont )

   ACTIVATE WINDOW oWnd
   RELEASE FONT oFont

return nil

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

static function ChildWindow()

   local oWnd

   DEFINE WINDOW oWnd MDICHILD OF WndMain() COLOR CLR_BLACK, CLR_WHITE

   CreateGets( oWnd )
   oWnd:bGotFocus := { || oWnd:Update() }

   ACTIVATE WINDOW oWnd


return nil

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

static function NewDialog( lModal )

   local oDlg

   DEFAULT lModal := .f.

   DEFINE DIALOG oDlg SIZE 460, 260 PIXEL TRUEPIXEL FONT WndMain():oFont
   CreateGets( oDlg )
   oDlg:bGotFocus := { || oDlg:Update() }

   if lModal
      ACTIVATE DIALOG oDlg CENTERED
   else
      ACTIVATE DIALOG oDlg CENTERED NOMODAL
   endif

return nil

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

static function CreateGets( oWnd )

   local nRow := 60

   @ nRow, 30 GET aStr[ 1 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 2 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 3 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 4 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE

return nil

//----------------------------------------------------------------------------//
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 12:04 PM

As a temporary workaround, if you create the GETs this way, then unicode works fine on NONMODAL dialogs:

ACTIVATE DIALOG oDlg CENTERED NOMODAL ;
ON INIT CreateGets( oDlg )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 04:09 PM
This is the revised program:
Code (fw): Select all Collapse
#include "fivewin.ch"

static aStr[ 4 ]

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

function Main()

   local oWnd, oBar, oFont

   FW_SetUnicode( .T. )
   SetGetColorFocus()

   AEval( aStr, { |u,i| aStr[ i ] := Space( 25 ) } )

   DEFINE FONT oFont NAME "Segoe UI" SIZE 0,-18

   DEFINE WINDOW oWnd MDI TITLE "UNICODE GETS"

   DEFINE BUTTONBAR oBar SIZE 80,60 2007
   DEFINE BUTTON OF oBar PROMPT "MDI" + CRLF +  "Child"      CENTER ACTION ChildWindow()
   DEFINE BUTTON OF oBar PROMPT "Nonmodal" + CRLF + "Dialog" CENTER ACTION NewDialog()
   DEFINE BUTTON OF oBar PROMPT "Modal" + CRLF + "Dialog"    CENTER ACTION NewDialog( .t. )

   oWnd:SetFont( oFont )

   ACTIVATE WINDOW oWnd
   RELEASE FONT oFont

return nil

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

static function ChildWindow()

   local oWnd

   DEFINE WINDOW oWnd MDICHILD OF WndMain() TITLE "MDI CHILD WINDOW" COLOR CLR_BLACK, CLR_WHITE
   CreateGets( oWnd )
   oWnd:bGotFocus := { || oWnd:Update() }
   ACTIVATE WINDOW oWnd

return nil

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

static function NewDialog( lModal )

   local oDlg

   DEFAULT lModal := .f.

   DEFINE DIALOG oDlg SIZE 460, 260 PIXEL TRUEPIXEL FONT WndMain():oFont ;
      TITLE If( lModal, "MODAL DIALOG", "NON-MODAL DIALOG" )

   oDlg:bGotFocus := { || oDlg:Update() }

   if lModal

      CreateGets( oDlg )

      ACTIVATE DIALOG oDlg CENTERED

   else

      ACTIVATE DIALOG oDlg CENTERED NOMODAL ON INIT CreateGets( oDlg )

   endif

return nil

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

static function CreateGets( oWnd )

   local nRow

   nRow     := 60

   @ nRow, 30 GET aStr[ 1 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 2 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 3 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE
   nRow  += 35
   @ nRow, 30 GET aStr[ 4 ] SIZE 400,32 PIXEL OF oWnd CHRGROUP CHR_WIDE UPDATE

return nil

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

Unicode Gets on MDICHILD windows, modal and non-modal Dialogs work as expected.
Regards



G. N. Rao.

Hyderabad, India
Posts: 10
Joined: Tue Apr 17, 2018 11:39 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue Apr 24, 2018 10:29 AM

Thank you for your quick reply.
The solution you provided was effective.
However, if you install various controls besides TGET Control
It will malfunction like before.
It seems to have avoided the bug with time difference.
It can be a useful tip for a very simple screen design.
Let's wait for more bug-resolved products.
Thank you.

Posts: 10
Joined: Tue Apr 17, 2018 11:39 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue May 08, 2018 12:02 PM

When is Unicode malfunction possible?

Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 04:21 AM
Hi
My program
Code (fw): Select all Collapse
REDEFINE GET ::oEX_WHO VAR ::cEX_WHO ID 101 OF ::oDlg UPDATE CHRGROUP CHR_WIDE
ACTIVATE DIALOG ::oDlg CENTER

Change to
Code (fw): Select all Collapse
DEFINE WINDOW go31001Wnd FROM 0, 0 TO 0, 0         
...
DEFINE DIALOG ::oDlg RESOURCE ::cResName FONT oFont BRUSH oBrush TRANSPARENT OF go31001Wnd 

REDEFINE GET ::oEX_WHO VAR ::cEX_WHO ID 101 OF ::oDlg UPDATE CHRGROUP CHR_WIDE
ACTIVATE DIALOG ::oDlg NOWAIT

go31001Wnd:bGotFocus := { || go31001Wnd:Update() }
ACTIVATE WINDOW go31001Wnd CENTER




use Only Dialog input Chinese fine.
Change MDI and input Chinese not work. input "新" show "送"

Any solution?
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 04:28 AM
Can you please try
Code (fw): Select all Collapse
DEFINE DIALOG ....
// Define Gets and other controls
ACTIVATE DIALOG oDlg AS MDICHILD
Regards



G. N. Rao.

Hyderabad, India
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 05:06 AM
nageswaragunupudi wrote:Can you please try
Code (fw): Select all Collapse
DEFINE DIALOG ....
// Define Gets and other controls
ACTIVATE DIALOG oDlg AS MDICHILD


I change to
Code (fw): Select all Collapse
ACTIVATE DIALOG ::oDlg AS MDICHILD         ;
              ON INIT  ( oThis:oDlg:Move(0,0) ) ;
              VALID !paOpenWnd[IS_WSE31002]


I lose buttonbar ... control and got error, this not I want it.

Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 05:26 AM

Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?

Regards



G. N. Rao.

Hyderabad, India
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 06:23 AM
nageswaragunupudi wrote:Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?


Code (fw): Select all Collapse
ACTIVATE DIALOG ::oDlg NOWAIT              ;
                    ON INIT  ( oThis:oDlg:Move(0,0) ) ;
                    VALID !paOpenWnd[IS_WSE31001]

This code, I can working. But TGet input Chinese not work. Look my attach first gif.

Code (fw): Select all Collapse
ACTIVATE DIALOG ::oDlg AS MDICHILD              ;
                    ON INIT  ( oThis:oDlg:Move(0,0) ) ;
                    VALID !paOpenWnd[IS_WSE31001]

This code. I change NOWAIT to AS MDICHILD . Child Window and Dialog not work. Look my attach Second gif.
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Fri Jul 26, 2019 05:46 PM
Hi Mr.Rao

Look it.

not work=> Child Window+Resource Dialog( ACTIVATE DIALOG ::oDlg NOWAIT )




Work OK=> Child Window+Resource Dialog( ACTIVATE DIALOG ::oDlg NOWAIT ) and I Open another Resource Dialog for New/Edit data

Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue Aug 06, 2019 03:51 AM
nageswaragunupudi wrote:Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?


Any solution?
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit

Continue the discussion