Estoy haciendo unas pruebas con FW_SetUnicode(.T.) y he observado un comportamiento extraño, supongo que me estoy dejando algo porque el tema del unicode, utf8, etc... siempre me ha traído de cabeza y ahora quiero unificar conceptos y que me quede claro.
He echo esta prueba:
- Code: Select all Expand view RUN
#include 'fivewin.ch'
Function Main()
Local oDlg
Local cVar := 'ñ Ñ a á à ä â A Á À Ä Â e é è ë ê E É È Ë Ê i í ì ï î I Í Ì Ï Î o ó ò ö ô O Ó Ò Ö Ô u ú ù ü û U Ú Ù Ü Û'
Local cGet := cVar
Local oBtnBmp
FW_SetUnicode( .T. )
FWINLOG cVar
DEFINE DIALOG oDlg;
Resource "dialogo2";
Title cVar
Redefine Get oGet;
Var cGet;
Id 4004;
Of oDlg
oGet:cToolTip := cVar
Redefine ButtonBmp oBtnBmp ;
Id 4003 Of oDlg;
Prompt cVar ;
ToolTip cVar
oBtnBmp:bAction := <||
FWINLOG cVar
MsgInfo(cVar)
Return Nil
>
ACTIVATE DIALOG oDlg CENTER
Return ( Nil )
el dialogo2 es el siguiente:
- Code: Select all Expand view RUN
// RESOURCE SCRIPT generated by "Pelles C for Windows, version 10.00".
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
dialogo DIALOG DISCARDABLE 14, 40, 330, 64
STYLE WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE
EXSTYLE WS_EX_TRANSPARENT|WS_EX_CONTEXTHELP
CAPTION "Dialogo"
FONT 10, "Segoe UI Light"
{
CONTROL "Edit", 4004, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 8, 4, 316, 12
CONTROL "ñ Ñ a á à ä â A Á À Ä Â e é è ë ê E É È Ë Ê i í ì ï î I Í Ì Ï Î o ó ò ö ô O Ó Ò Ö Ô u ú ù ü û U Ú Ù Ü Û", 4001, "Static", WS_GROUP, 8, 20, 320, 8
CONTROL "", 4002, "Static", WS_GROUP, 8, 32, 320, 8
CONTROL "Button", 4003, "Button", WS_TABSTOP, 8, 44, 316, 14
}
dialogo2 DIALOG DISCARDABLE 14, 40, 330, 36
STYLE WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|WS_THICKFRAME|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE
EXSTYLE WS_EX_TRANSPARENT|WS_EX_CONTEXTHELP
CAPTION "Dialogo"
FONT 10, "Segoe UI Light"
{
CONTROL "Edit", 4004, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 8, 4, 316, 12
CONTROL "Button", 4003, "Button", WS_TABSTOP, 8, 20, 316, 14
}
En principio todo se muestra bien, pero cuando pulso el botón para ver el contenido de la variable, el MsgInfo() me lo muestra correctamente, pero FWINLOG no, y justamente el comportamiento que me hace FWINLOG es lo que me está ocurriendo en algunos apartados de mi aplicación.
He probado lo mismo con \samples\unicode.prg y ahí funciona bien, pero revisando el código lo único que se aplica es FW_SetUnicode( .T. ) igual que yo.
Alguna idea de lo que puede estar pasando?
Gracias y Salud!