Bug en 11.11 30/septiembre (SOLUCIONADO)
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Fernando,
Respecto al 4. por favor cambia estas líneas en window.prg:
Respecto al 4. por favor cambia estas líneas en window.prg:
Code: Select all | Expand
METHOD Destroy() CLASS TWindow
if ( ::hWnd == nil .or. ::hWnd == 0 ) .and. ;
( ::nResult == nil .or. ( ValType( ::nResult ) == "N" .and. ::nResult == 0 ) )
return nil
endif
...
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Para el 2. este cambio en dialog.prg:
Code: Select all | Expand
METHOD KeyChar( nKey, nFlags ) CLASS TDialog
if nKey == VK_ESCAPE
if ::oWnd != nil .and. ( ::oWnd:IsKindOf( "TMDICHILD" ) .or. ;
::oWnd:IsKindOf( "TDIALOG" ) .or. ::oWnd:IsKindOf( "TMDIFRAME" ) )
if SetDialogEsc()
::End()
endif
endif
return nil // este!
endif
return Super:KeyChar( nKey, nFlags )
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Fernando,
Para la longitud del contenido del GET al hacer paste, este código en TGet lo soluciona:
Para la longitud del contenido del GET al hacer paste, este código en TGet lo soluciona:
Code: Select all | Expand
case nMsg == WM_PASTE
if GetFocus() == ::hWnd
CallWindowProc( ::nOldProc, ::hWnd, WM_PASTE, 0, 0 )
SetWindowText( ::hWnd, SubStr( GetWindowText( ::hWnd ), 1, Len( ::oGet:Original ) ) ) // Nuevo !!!
::oGet:Buffer = GetWindowText( ::hWnd )
::oGet:Pos = GetCaretPos()[ 2 ]
::oGet:Assign()
if ::bChange != nil
Eval( ::bChange,,, Self )
endif
endif
return 0
Re: Bug en 11.11 30/septiembre
Muchas gracias Antonio,
Estos cambios los puedo aplicar sobre los archivos que tengo de la versión 11.11 04/diciembre/2011.
Pero estos días me has enviado las librerías con correcciones.
Si aplico los cambios sobre los archivos que tengo pierdo las últimas correcciones.
Estos cambios los puedo aplicar sobre los archivos que tengo de la versión 11.11 04/diciembre/2011.
Pero estos días me has enviado las librerías con correcciones.
Si aplico los cambios sobre los archivos que tengo pierdo las últimas correcciones.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Antonio,
¿En las librerias que me acabas de enviar vienen incluidos los cambios que mencionas?
Es que sigo teniendo los mismos problemas.
Si no están incluidos como obtengo de la lib los prg.
¿En las librerias que me acabas de enviar vienen incluidos los cambios que mencionas?
Es que sigo teniendo los mismos problemas.
Si no están incluidos como obtengo de la lib los prg.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Fernando,
Estas seguro de que estás usando las librerías que te he enviado ?
Aqui tu ejemplo está funcionando bien:
http://code.google.com/p/fivewin-contributions/downloads/detail?name=fgondi.exe&can=2&q=
Estas seguro de que estás usando las librerías que te he enviado ?
Aqui tu ejemplo está funcionando bien:
http://code.google.com/p/fivewin-contributions/downloads/detail?name=fgondi.exe&can=2&q=
Re: Bug en 11.11 30/septiembre
Antonio,
El post hacía referencia a las liberías que me has enviado a las 14:13
Con las librerias que me has enviado a las 15:47, funcionando correctamente los problemas.
Muchisimas gracias por tu tiempo y tu dedicación.
Este apoyo y ayuda creo que es muy dificil de encontrar.
Sólo queda el problema inicial:
Que desconozco el porque ahora se ve la pantalla inicial.
En las versiones anteriores (incluida la versión 11.11 30/noviembre/2011) no se ve ese diseño.
El tiempo de carga de la ventana es el mismo y ese segundo, segundo y medio que ahora está mostrando el diseño antes mostraba esto:
![Image](http://img84.imageshack.us/img84/7599/dibujopgfv.png)
Uploaded with ImageShack.us
El post hacía referencia a las liberías que me has enviado a las 14:13
Con las librerias que me has enviado a las 15:47, funcionando correctamente los problemas.
Muchisimas gracias por tu tiempo y tu dedicación.
Este apoyo y ayuda creo que es muy dificil de encontrar.
Sólo queda el problema inicial:
1.- Dibujo de pantalla
Sigue apareciendo la pantalla de recurso antes de redefinirse.
Que desconozco el porque ahora se ve la pantalla inicial.
En las versiones anteriores (incluida la versión 11.11 30/noviembre/2011) no se ve ese diseño.
El tiempo de carga de la ventana es el mismo y ese segundo, segundo y medio que ahora está mostrando el diseño antes mostraba esto:
![Image](http://img84.imageshack.us/img84/7599/dibujopgfv.png)
Uploaded with ImageShack.us
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos
Re: Bug en 11.11 30/septiembre
He creado un ejemplo con browse y forlder donde se puede apreciar la ventana en definición.
Es un ejemplo sencillo, por lo que se aprecia muy poco tiempo (tiempo que puede ser despreciable).
Pero los diseños que tengo son mas complejos y con mas información y se ve durante mas tiempo.
Si este ejemplo se compila con FWH 11.11 de 30/noviembre/2011 y con FWH 11.11 de 04/diciembre/2011 se puede apreciar claramente la diferencia.
con rc:
Es un ejemplo sencillo, por lo que se aprecia muy poco tiempo (tiempo que puede ser despreciable).
Pero los diseños que tengo son mas complejos y con mas información y se ve durante mas tiempo.
Si este ejemplo se compila con FWH 11.11 de 30/noviembre/2011 y con FWH 11.11 de 04/diciembre/2011 se puede apreciar claramente la diferencia.
Code: Select all | Expand
#include "FiveWin.ch"
#include "xBrowse.ch"
function Main()
local oWnd
Define Window oWnd Title "Principal" Mdi Menu ps_Menu(oWnd)
Activate Window oWnd MAXIMIZED Valid MsgYesNo('Desea salir')
return nil
static func ps_Menu(oWnd)
local oMenu
Menu oMenu
MenuItem "Child" Action ps_Child(oWnd)
EndMenu
return oMenu
static proc ps_Child( oWnd )
local oChild
Define Window oChild MdiChild Title 'Child' of oWnd
Activate Window oChild On Init ps_Dialog(oChild)
return
static proc ps_Dialog( oChild )
local oDlg, oBrush, aGet[8], aVar[8]
local oFld, oDlg2, oBrw
USE EJEMPLO1
oBrush := tbrush():New(, nRgb(224, 236, 255) )
DEFINE DIALOG oDlg Resource "Dialogo" OF oChild TRANSPARENT Brush oBrush
aVar[1] := space(2)
Redefine Get aGet[1] Var aVar[1] Id 102 Update Message 'Indique el código del usuario' Of oDlg
aVar[2] := space(50)
Redefine Get aGet[2] Var aVar[2] Id 103 Update Message 'Indique el nombre del usuario' Of oDlg
aVar[3] := space(50)
Redefine Get aGet[3] Var aVar[3] Id 104 Update Message 'Indique el código de la empresa' Of oDlg
aVar[4] := space(50)
Redefine Get aGet[4] Var aVar[4] Id 105 Update Message 'Indique el nombre de la empresa' Of oDlg
Redefine Folder oFld ID 106 OF oDlg;
Prompts '&Notas', 'Notas1', 'Notas2', 'Notas3' ;
Dialogs 'Notas', 'Notas', 'Notas', 'Notas'
DEFINE DIALOG oDlg2 OF oFld STYLE WS_CHILD FROM 0, 0 TO 5, 5 PIXEL
aIns( oFld:aDialogs, 1, oDlg2, .T. )
aIns( oFld:aPrompts, 1, "Lineas", .T. )
aIns( oFld:aEnable, 1, .t., .T. )
@ 0, 0 XBROWSE oBrw OF oDlg2 ALIAS 'EJEMPLO1' AUTOCOLS
oBrw:CreateFromCode()
oDlg2:oClient := oBrw
Redefine Get aGet[5] Var aVar[5] Id 102 Of oFld:aDialogs[2] MEMO
Redefine Get aGet[6] Var aVar[6] Id 102 Of oFld:aDialogs[3] MEMO
Redefine Get aGet[7] Var aVar[7] Id 102 Of oFld:aDialogs[4] MEMO
Redefine Get aGet[8] Var aVar[8] Id 102 Of oFld:aDialogs[5] MEMO
ACTIVATE DIALOG oDlg NoWait On Init ps_Incrus( oChild, oDlg ) Valid .F.
return
static proc ps_Incrus(oChild, oDlg)
local nWidth, nHeight
oDlg:Move(0, 0,,, .T.)
nWidth := oDlg:nWidth + 7
nHeight := oDlg:nHeight + 33
oChild:SetSize(nWidth, nHeight, .T.)
oChild:Center()
return
con rc:
Code: Select all | Expand
DIALOGO DIALOG DISCARDABLE 0, 0, 519, 264
STYLE WS_CHILD|WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "123", 102, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 44, 7, 39, 12
CONTROL "123456", 103, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 91, 7, 146, 12
CONTROL "12", 104, "Edit", WS_BORDER|WS_TABSTOP, 288, 7, 32, 12
CONTROL "1", 105, "Edit", WS_BORDER|WS_TABSTOP, 335, 7, 105, 12
CONTROL "", 106, "SysTabControl32", 0x00000000, 0, 26, 519, 238
CONTROL "Usuario:", -1, "Static", SS_CENTERIMAGE|WS_GROUP, 5, 9, 31, 12
CONTROL "Empresa:", -1, "Static", SS_CENTERIMAGE|WS_GROUP, 249, 9, 31, 12
}
NOTAS DIALOG DISCARDABLE 6, 18, 519, 222
STYLE WS_CHILD|WS_VISIBLE
FONT 8, "MS Sans Serif", 0, 0, 1
{
CONTROL "Edit", 102, "Edit", ES_MULTILINE|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_WANTRETURN|WS_HSCROLL|WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 0, 519, 222
}
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Fernando,
En la definición de los recursos que usas quita el estilo visible:
DIALOGO DIALOG DISCARDABLE 0, 0, 305, 80
STYLE WS_CHILD|WS_VISIBLE
a
STYLE WS_CHILD
Es una satisfacción poder ayudar a resolver problemas cuando se tiene el apoyo y la ayuda de muy buenos amigos, gracias![Smile :-)](./images/smilies/icon_smile.gif)
En la definición de los recursos que usas quita el estilo visible:
DIALOGO DIALOG DISCARDABLE 0, 0, 305, 80
STYLE WS_CHILD|WS_VISIBLE
a
STYLE WS_CHILD
Es una satisfacción poder ayudar a resolver problemas cuando se tiene el apoyo y la ayuda de muy buenos amigos, gracias
![Smile :-)](./images/smilies/icon_smile.gif)
Re: Bug en 11.11 30/septiembre
Antonio,
Solucionado.
Quitando el estilo visible ya carga perfectamente.
Buscaré en todos los rc donde aparece WS_VISIBLE y lo quitaré.
Muchisimas gracias por todo.
Con soluciones y ayudas como todo lo acontecido en este post, es con las que se demuestra que escoger FWH es la mejor solución.
PD: ¿Nuncá ha hecho falta tener WS_VISIBLE en los diálogos?
Solucionado.
Quitando el estilo visible ya carga perfectamente.
Buscaré en todos los rc donde aparece WS_VISIBLE y lo quitaré.
Muchisimas gracias por todo.
Con soluciones y ayudas como todo lo acontecido en este post, es con las que se demuestra que escoger FWH es la mejor solución.
PD: ¿Nuncá ha hecho falta tener WS_VISIBLE en los diálogos?
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Bug en 11.11 30/septiembre
Fernando,
En FWH 11.11 se ha optimizado el código de creación de las cajas de diálogo no modales para que sea compatible con todos los compiladores de C soportados (Borland, Microsoft y gcc), de hecho el código que se usa está ahora disponible en la versión 11.11, anteriormente no se proporcionaba.
Al optimizar ese código, a nivel de implementación, han aparecido estos efectos que hemos ido solucionando poco a poco y gracias a tu ayuda y a las de otros usuarios que han ido comentando diferencias.
En casos como el tuyo es preciso quitar el estilo WS_VISIBLE pues aunque en el código en C publicado, ocultamos el diálogo, transcurren unos instantes hasta que Windows lo procesa y de ahi que se vea. Aún asi, merece la pena estos ajustes pues el código final es muy limpio, pequeño y facilmente mantenible.
Efectos colaterales que a veces ocurren cuando se optimiza lo que ya funcionaba bien pero no en todos los compiladores de C![Smile :-)](./images/smilies/icon_smile.gif)
En FWH 11.11 se ha optimizado el código de creación de las cajas de diálogo no modales para que sea compatible con todos los compiladores de C soportados (Borland, Microsoft y gcc), de hecho el código que se usa está ahora disponible en la versión 11.11, anteriormente no se proporcionaba.
Al optimizar ese código, a nivel de implementación, han aparecido estos efectos que hemos ido solucionando poco a poco y gracias a tu ayuda y a las de otros usuarios que han ido comentando diferencias.
En casos como el tuyo es preciso quitar el estilo WS_VISIBLE pues aunque en el código en C publicado, ocultamos el diálogo, transcurren unos instantes hasta que Windows lo procesa y de ahi que se vea. Aún asi, merece la pena estos ajustes pues el código final es muy limpio, pequeño y facilmente mantenible.
Efectos colaterales que a veces ocurren cuando se optimiza lo que ya funcionaba bien pero no en todos los compiladores de C
![Smile :-)](./images/smilies/icon_smile.gif)
Re: Bug en 11.11 30/septiembre (SOLUCIONADO)
Antonio,
Ok. Entendido.
Ok. Entendido.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
Fernando González Diez
ALSIS Sistemas Informáticos