Page 1 of 1
Unicode malfunction according to modal / nomodal format
Posted: Sat Apr 21, 2018 3:07 pm
by kkwan
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
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 2:44 am
by Antonio Linares
We are checking it, please wait one day or two, thanks
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 10:43 am
by Antonio Linares
We are testing this example:
unimdi.prg
Code: Select all
#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
//----------------------------------------------------------------------------//
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 12:04 pm
by Antonio Linares
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 )
Re: Unicode malfunction according to modal / nomodal format
Posted: Mon Apr 23, 2018 4:09 pm
by nageswaragunupudi
This is the revised program:
Code: Select all
#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.
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue Apr 24, 2018 10:29 am
by kkwan
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.
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue May 08, 2018 12:02 pm
by kkwan
When is Unicode malfunction possible?
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 4:21 am
by richard-service
Hi
My program
Code: Select all
REDEFINE GET ::oEX_WHO VAR ::cEX_WHO ID 101 OF ::oDlg UPDATE CHRGROUP CHR_WIDE
ACTIVATE DIALOG ::oDlg CENTER
Change to
Code: Select all
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?
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 4:28 am
by nageswaragunupudi
Can you please try
Code: Select all
DEFINE DIALOG ....
// Define Gets and other controls
ACTIVATE DIALOG oDlg AS MDICHILD
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 5:06 am
by richard-service
nageswaragunupudi wrote:Can you please try
Code: Select all
DEFINE DIALOG ....
// Define Gets and other controls
ACTIVATE DIALOG oDlg AS MDICHILD
I change to
Code: Select all
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.
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 5:26 am
by nageswaragunupudi
Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?
Re: Unicode malfunction according to modal / nomodal format
Posted: Sun Jul 21, 2019 6:23 am
by richard-service
nageswaragunupudi wrote:Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?
Code: Select all
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: Select all
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.
Re: Unicode malfunction according to modal / nomodal format
Posted: Fri Jul 26, 2019 5:46 pm
by richard-service
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
Re: Unicode malfunction according to modal / nomodal format
Posted: Tue Aug 06, 2019 3:51 am
by richard-service
nageswaragunupudi wrote:Please reproduce the error.log.
Do you have the problem in mdi-dialog only or in normal dialogs also?
Any solution?