Page 1 of 1

New FTDN September / Septiembre 2008 (8.09)

Posted: Thu Sep 18, 2008 11:36 am
by Antonio Linares
September 2008
============

* New: An interesting example showing how to create a screensaver that will be executed when a GET is not used for some time. Please review samples\GetTime.prg

* Enhancement: samples\Test2003.prg is properly resizing the main window client area, so when child windows are created, they are placed in the right locations. Please test it and create a child window from the menu.

* Enhancement: samples\NewHelp.prg has been modified to get the transparency effect on Vista. Previously this example was working fine on XP but not on Vista. Now it is ok.

* Fix: Tooltips shadow was not shown in Vista. Now it is ok.

* New: An interesting example showing how to browse the disks contents using a xbrowse. Please review samples\XBrwDisk.prg

* Enhancement: We have improved the XBrowse based "Object inspector". Please review samples\Inspect.prg

* Fix: Class TTreeView Methods GetCheck() and SetCheck() were calling oItem:hWnd instead of oItem:hItem. Fixed! Thanks to Júlio!

* Enhancement: Class TPanel is using now double buffer painting technique to avoid flickering when it gets resized.

* Fix: Minor fix in Class TButton Method Click() on a bug recently introduced in build 8.08 due to a fix for buttons acelerators use vs. mouse click on them.

* Fix: function chmHelpTopic( cnTopic ), there were two missing calls to ValType(). Fixed! Thanks to Günther for detecting it!

* Enhancement: Class TWebClient METHOD GetPage( cPageName ). The modified method allows retrieving a page from a server with shared IP hosting ( but works even with static IP servers ) if cPageName starts with "http://", otherwise it works as before ( for compatibility reasons ). Thanks to Davide!

* Enhancement: Class TDialog() Method Help() does not invoke help for a control whose nHelpId is empty, and invokes the dialog nHelpId.

* Enhancement: Class TControl Method HelpTopic() calls function HelpTopic() if a CHM file is used as the help file: SET HELPFILE TO "MYHELP.CHM"

* Fix: Class TXBrwColumn Method PaintData(), transparent bitmaps were not properly painted if a bitmapped brush was used for the xbrowse. Now it is ok.

* Enhancement: Class TDialog() Method Help() does not route WM_HELP to its parent window if HelpTopic() is processed for the dialog.

* Enhancement: Class TActiveX Method Do() supports one more parameter, up to 5.

* Enhancement: Class TMultiGet Method Redefine() defaults oWnd to GetWndDefault(). It was missing. Other controls already use it.

* Fix: function cGetDir() was wrongly using the fifth parameter. Now it is ok. Here you have this undocumented flag in case that you need it: #define BIF_NONEWFOLDERBUTTON 0x0200

* Fix: Class TDataBase Method SetFilter(). ::nArea use was missing. Now it is ok.

* Enhancement: Class TDbCombo() Method KeyChar(), support for non numeric types. Thanks to Rolando Salazar!

* Fix: Class TDatabase Method RecLock(). ::nArea use was missing. Now it is ok.

* Enhancement: Class TSay Method SetText() is setting a better width when BOLD fonts are used. Also, the width of the control is only increased when a wider text is assigned.

* New: Harbour for Pocket PC build, using the current Harbour SVN source code. Please download and reinstall harb_arm.exe from www.fivetechsoft.com\files\harb_arm.exe

* New: FWPPC build adapted to the new Harbour for Pocket PC build.

* New: FWPPC New #define in fwce.ch that translate CurDir() calls into GetCurDir() calls. Please recompile all your PRGs that use CurDir()

* Fix: Class TActiveX Method New() was not using the style WS_TABSTOP. Now it uses it.

* New: Class TDialog DATA bNcActivate and Method NCActivate( lOnOff ). This method is automatically invoked when the Non Client area (the caption and border or the dialog) is Activated or DeActivated. Please review samples\ncactiv.prg

* Enhancement: Class TTabs Method MouseLeave(), it checks for those circunstances where ::nOver may be nil.

* Fix: Class TXBrowse Method Report() was not releasing a bold font. Now it is ok.

Posted: Thu Sep 18, 2008 8:10 pm
by Antonio Linares
Important change in FWH 8.09:

We have renamed FWH GetProcAddress() into GetProcAdd() as FWH was using a non standard one, and Harbour and xHarbour provide the standard one.

So all the PRG files where you use DLL FUNCTION ... have to be recompiled (as GetProcAdd() is used from that command).

Posted: Wed Sep 24, 2008 1:25 pm
by Antonio Linares
Septiembre 2008
============

*** Cambio importante en FWH 8.09 ***

_ el nombre de la función GetProcAddress() de FWH a GetProcAdd() ya que Harbour/xHarbour la proporcionan y la de ellos es la estandard de Windows. La de FWH está adaptada para ser usada con el comando DLL FUNCTION ...

Todos los PRGs en donde useis DLL FUNCTION ... tienen que ser recompilados, ya que el cambio está en include\DLL.ch (ahora se llama a GetProcAdd() en vez de a GetProcAddress()).

* Nuevo: Un ejemplo intresante que muestra como crear un salvapantallas que será ejecutada cuando un GET no sea usado por algú tiempo. Por favor, revisa el ejemplo samples\GetTime.prg.

* Mejora: El ejemplo samples\Test2003.prg redimensiona correctamente la ventana principal del área cliente, así que cuando se crean ventanas hija, estas se colocan en la localización correcta. Por favor, pruébalo y crea una ventana hija desde el menú.

* Mejora: El ejemplo samples\NewHelp.prg ha sido modificado para tener el efecto transparencia en Vista. Anteriormente este ejemplo funcionaba
correctamente en XP pero no en Vista. Ahora está correcto.

* Corrección: La sombra de los "Tooltips" no se mostraban en Vista. Ahora está correcto.

* Nuevo: Un ejemplo interesante que muestra como navegar por el contenido de un disco usando un "xbrowse". Por favor, revisa el ejemplo
samples\XBrwDisk.prg.

* Mejora: Hemos mejorado el Inspector de Objetos. Por favor, revisa el ejemplo samples\Inspect.prg.

* Corrección: En los métodos GetCheck() y SetCheck() de la clase TTreeView estaban llamando a oItem:hWnd en lugar de oItem:hItem.
Corregido. Gracias a Julio !!!

* Mejora: Se usa la técnica de pintado de doble buffer para evitar el parpadeo cuando se redimensionan los GETs.

* Corrección: Pequeña corrección en el método Click() de la clase TButton, el error se introdujo en la construcción 8.08 debido a una corrección para la utilización de los aceleradores de botones versus el click del ratón sobre ellos.

* Corrección: En la función chmHelpTopic( cnTopic ), había dos llamadas olvidadas a ValType(). Corregido !!! Gracias a Günther por detectarlo !!!

* Mejora: El método GetPage( cPageName ) en la clase TWebClient. El método modificado permite recuperar una página de un servidor de alojamiento IP compartido (pero funciona incluso con los servidores IP estáticos) si cPageName comienza con "http://", de lo contrario, funciona como antes (por razones de compatibilidad). Gracias a Davide!!!

* Mejora: El método Help() de la clase TDialog() no invoca la ayuda de un control cuyo nHelpId está vacio, e invoca el diálogo nHelpId.

* Mejora: El método HelpTopic() de la clase TControl llama a la función HelpTopic() si se usa un fichero CHM como fichero de ayuda:
SET HELPFILE TO "MYHELP.CHM"

* Corrección: En el método PaintData() de la clase TXBrwColumn, no se estaban pintando correctamente los "bitmaps" transparentes si se utiliza
un bitmap como brush en un xrowse. Ahora está correcto.

* Mejora: Método Help() en la clase TDialog no ruta el mensaje WM_HELP a la ventana padre si la función HelpTopic() es procesada por el diálogo.

* Mejora: El método Do() en la clase TActiveX soporta un parámetro más, hasta 5.

* Mejora: En el método Redefine() de la clase TMultiGet por defecto si no se le pasa oWnd, se toma el valor de GetWndDefault(). Estaba olvidado. Otros controles lo utilizan ya.

* Corrección: La función cGetDir() estaba usando erróneamente el quinto parámetro. Ahora está correcta. Aquí tienes una bandera no documentada
por si la necesitas: #define BIF_NONEWFOLDERBUTTON 0x0200

* Corrección: En el método SetFilter() de la clase TDataBase, faltaba el uso de ::nArea. Ahora está correcto.

* Mejora: El método KeyChar() de la clase TDbCombo soporta tipos de datos no numéricos. Gracias a Rolando Salazar !

* Corrección: En el método RecLock() de la clase TDataBase, faltaba el uso de ::nArea. Ahora está correcto.

* Mejora: En el método SetText() de la clase TSay, se configura un ancho mejor cuando se usan fuentes en negrita. Asímismo, el ancho del control sólo se aumenta cuando se asigna un texto más ancho.

* Nuevo: Nueva construcción de Harbour para Pocket PC, se han usado los repositorios más recientes de Harbour. Debes descargar y reinstalar harb-arm.exe de nuevo desde www.fivetechsoft.com\files\harb_arm.exe.

* Nuevo: FWPPC adaptado a la nueva construcción de Harbour para Pocket PC.

* Nuevo: FWPPC. Nuevo #define en FWCE.CH que traduce las llamadas a CurDir() en llamadas a GetCurDir(). Por favor, reconstruye todos tus fuentes PRGs que usen CurDir().

* Corrección: El método New() de la clase TActiveX no usaba el estilo WS_TABSTOP. Ahora si lo usa.

* Nuevo: Nuevo método NCActivate( lOnOff ) y nuevo DATA bNcActivate en la clase TDialog. Este método es llamado automáticamente cuando el área no cliente ( el título y la frontera del diálogo ) es activada o desactivada. Por favor, revisa el ejemplo samples\ncactiv.prg.

* Mejora: El método mouseLeave() de la clase TTabs, comprueba para aquellas circunstancias en que ::nOver pueda ser NIL.

* Corrección: El método Report() de la clase TXBrowse no estaba liberando la fuente negrita. Ahora está correcto.