In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Bug en TEDIT

Foro de Xailer profesional en español
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Bug en TEDIT

Postby buzonjmartial » Wed Nov 27, 2019 12:54 pm

Buenos días,

La clase Tedit tiene un bug que me ha vuelto loco. Se puede probar en el editor de Xailer o en cualquier aplicación hecha con Xailer.

Si se teclea en modo Insert áéíóú funciona correctamente, si se pulsa la tecla INSERT en el teclado y se pone el cursor en modo sobreescribir,
ya no salen los acentos.
Un Saludo,
Joaquín Martínez
ddupre
Posts: 307
Joined: Mon Nov 12, 2007 3:53 pm

Re: Bug en TEDIT

Postby ddupre » Wed Nov 27, 2019 8:46 pm

Estimado,

Lo he probado en el editor de Xailer 6.2.0 y no logro reproducir el bug, tal vez sea un problema del font que utilizas para editar, yo edito con ANSI Fixedsys y, si bien esos caracteres no se ven en esta fuente, nunca dejan de verse los tíldes.

Saludos
Daniel
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Re: Bug en TEDIT

Postby buzonjmartial » Wed Nov 27, 2019 9:39 pm

Buenas tardes,

He dicho en un control Tedit no editando el prg.

Ve al menú Herramientas - Opciones generales - Directorios - Xailer y en el tedit donde tienes que poner las carpetas donde está Xailer, escribe ahí y lo comprobarás.
Un Saludo,
Joaquín Martínez
User avatar
ignacio
Site Admin
Posts: 8693
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Bug en TEDIT

Postby ignacio » Thu Nov 28, 2019 10:17 am

Buenos días,

El problema se corrige comentando unas pocas líneas de TEdit:WmKeyDown. Le incluyo el código:

Code: Select all

METHOD WMKeyDown( nKey, nFlags, hWnd ) CLASS XEdit

   LOCAL nStart, nEnd

   IF nKey == VK_INSERT .AND. ! lGetKeyState( VK_CONTROL ) .AND. ! lGetKeyState( VK_SHIFT )
      ::oForm:SendMsg( WM_CHANGEUISTATE, MakeLong( UIS_CLEAR, UISF_HIDEFOCUS ) )
      IF ::lInsert := !::lInsert
         CreateCaret( ::Handle,, 0, -1 )
      ELSE
         CreateCaret( ::Handle,, -1, -1 )
      ENDIF
      ShowCaret( ::Handle )
      RETURN Nil
   ENDIF
//   IF ! ::lInsert
//      ::GetSel( @nStart, @nEnd )
//      IF nStart == nEnd .AND. nKey != VK_BACK .AND. ( nKey == 32 .OR. ! Empty( VKeyToAscii( nKey, nFlags ) ))
//         ::SetSel( nStart, nStart + 1 )
//      ENDIF
//   ENDIF

RETURN ::Super:WMKeyDown( nKey, nFlags, hWnd )


Estará solucionado en la próxima versión de Xailer. Gracias por su colaboración.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Re: Bug en TEDIT

Postby buzonjmartial » Thu Nov 28, 2019 12:37 pm

Buenos días Ignacio,

He heredado la clase de esta manera:

CLASS TEdit FROM XEdit

Y ahí he puesto el código del método WMKeyDown.

Sigue el problema, en modo sobreescribir NO aparecen los acentos.

No sé si hay que hacer algo más.


Gracias,
Un Saludo,
Joaquín Martínez
User avatar
ignacio
Site Admin
Posts: 8693
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Bug en TEDIT

Postby ignacio » Thu Nov 28, 2019 1:29 pm

Hola,

Mala idea me temo. La línea RETURN ::Super:WMKeyDown( nKey, nFlags, hWnd ) vuelve a llamar al código de la clase XEdit.

Si no quiere tocar la clase original, puede hacer lo siguiente: Cambie la última línea por:

RETURN ::TStdControl:WMKeyDown( nKey, nFlags, hWnd )

Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
buzonjmartial
Posts: 81
Joined: Fri Apr 10, 2009 11:02 pm

Re: Bug en TEDIT

Postby buzonjmartial » Thu Nov 28, 2019 1:45 pm

Así funciona perfectamente !!

Ya cuando salga la actualización, quitaré ese código y listo.
Un Saludo,
Joaquín Martínez

Return to “Spanish”