New FTDN October / Octubre 2008 (8.10)

Post Reply
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

New FTDN October / Octubre 2008 (8.10)

Post by Antonio Linares »

October 2008
============

* Enhancement: Class TBitmap Method LoadFromClipboard( [ oWnd ] ) now accepts an optional parameter
oWnd, as a the window owner to the clipboard handle to be created. The methods returns a logical
value as the result of the operation. Thanks to Ruediger!

* New: FWPPC, samples\RadHorz.prg shows how to build an horizontal radiobutton menu from source code.

* New: An interesting new example samples\XbrwEdit.prg that shows how to add new records and edit them
from inside the same xbrowse control.

* Enhancement: We have modified samples\SockServ.prg to show on a client-server sockets conversation how
to send data from the server to the client:

DEFINE BUTTON OF oBar ACTION oClient:SendData( "Hello from server!" ) TOOLTIP "Talk to client"

* Enhancement: Class TGet is assigning the DATA lCancel to true to the button created when the new clause
... GET ... ACTION ... is created, so the GET valid is not fired when the button gets the focus.

* New: Please notice that the way to invoke the debugger in xHarbour has changed. Please review samples\AltD.prg.
To test the debugger do it this way:

with Harbour: buildh.bat AltD /b
with xHarbour: buildx.bat AltD /b

* Enhancement: We have improved samples\buildh.bat and buildx.bat for automatic detection of /b (debug mode)
so GTWIN.lib is linked and linker flag -aa is not used. Please review the changes inside them. You may use
a similar way in your make files to debug your applications.

* Fix: Class TControl Method Colors() was not properly setting the dotted rect for radiobuttons and checkboxes.
Now it is ok. Many thanks to Carlos Gallego for his feedback!

* New: An interesting new example for the use of the RAW INPUT Windows API. Please review samples\RawInput.prg.
You can find the RAW INPUT API documentation here:
http://msdn.microsoft.com/en-us/library ... S.85).aspx

* Fix: include\TCBrowse.ch had a wrong VALID command at its end. It has been removed.

* New: Class TSay DATA lAdjust, used to check if the control width should be adjusted to a new text when Method
SetText( cNewText ) is called. It is .F. by default. Warning: In 8.09 the control width was adjusted by default.
Now it is only adjusted if lAdjust is .T.. Thanks to Wormar for his feedback!

There is a new optional ADJUST clause for the commands:

@ ..., ... SAY ... [ ADJUST ]

REDEFINE SAY ... [ ADJUST ]

* Enhancement: FWPPC, to avoid the linking warnings LNK1166 please use this flag when calling the linker:
/ARMPADCODE:NO
We have modified and enhanced FWPPC\samples\buildce.bat to use it. Please review it, thanks.

* New: samples\buildg.bat to build your FWH Windows applications using MinGW GNU gcc compiler from
http://www.mingw.org.

* New: Makefile for MinGW gcc provided in makes\gccmake.zip. Simply run make.bat where the file Makefile is.
make.bat may contain this:

set oldpath=%path%
set path=c:\mingw\bin;%path%
c:\mingw\bin\mingw32-make.exe
set path=%oldpath%

* New: samples\ScanNonM.prg is an interesting example that shows how to search for an already opened Non Modal
dialog. Very useful to manage you non modal dialogs!

* Fix: Class TXBrowse Method LButtonDown(), removed a duplicated call to ::Change() method.

* New: Class TDatePick Method Open(). You can use it to automatically open it when it gets focus:

@ 2, 2 DTPICKER oDtp VAR dDate OF oWnd ON CHANGE If( oSay != nil, oSay:Refresh(),)

oDtp:bGotFocus = { || oDtp:Open(), nil }

Please review samples\TestDtp.prg

* Fix: function TrackMouseEvent() had a mistake in its code. Now it is fine.

* New: Class TPrinter Method MmSay( nRow, nCol ), same as CmSay() (centimeters), but managing milimeters.

* Enhancement: function PrnOffset( hDC ) --> aPoint has been modify to use GetDeviceCaps() to retrieve such
information. Thanks to Ken Wantz for pointing this change!

* Fix: Class TPanel was not assigning a default brush. Now it is ok.

* Enhacement: Class TOutLook2003, painting flickering had been reported when selecting the different buttons
on the outlook control. It has been located and solved.

* New: Ver interesting example in samples\TestFldG.prg shows how to place a bussiness graph into a folder page.
Thanks to Patrick Weisser!

* Fix: Class TXBrowse Method DelRepos() was not properly creating a codeblock from the filter expression. Now
it is ok.

* Enhancement: Class TSmtp Method Failure(). Parameters oSocket, nWSAError, cReply are supplied now when ::bFailure
is evaluated from Failure().

* New: A very interesting new example in samples\Signatur.prg that shows how to capture a signature from your
applications!

* Enhancement: function Browse() automatically centers in screen the browse dialog box.

* Enhancement: FWPPC Class TControl Method Initiate() calls ::CoorsUpdate() to automatically retrieve the
coordinates: nTop, nLeft, nBottom, nRight of the REDEFINEd controls.

* Enhancement: Improved CHM help files support. Please review samples\TestChm.prg. Thanks to Günther Steiner!

New functions in helpchm.prg:

SetHelpPopup( cPopup , nRow , nCol , nbgColor , nfgColor )
To set the filename,Y-offset,X-offset,backgroundcolor, foregroundcolor of the embedded TXT-File in CHM-helpfile or from the external file

GetHelpPopup() --> returns an array
[1] := -> Popup-file "Whats This" from the CHM or if exist this file really, the popuptopics come from here
[2] := -> nRow is the Y-display coordinate from the shown popup relative to the control
[3] := nCol is the X-display coordinate from the shown popup relative to the control
[4] := nbgColor is the background color from the popup
[5] := nfgColor is the text color from the popup

NOTE!
If the file cPopup really exists in the following format, then the popup-topics are calling from this file and
not from the embedded txt-file in the CHM-file!

.Topic 1 //---> is the helpid from the control
popuptext for topic 1 //---> is the popup-text to shown
.
.
.Topic 5
popuptext for topic 5
.
.

NOTE for the news in TFolder and TPages!

The new extension in the FOLDER.CH for helpids for the dialogs in folders or pages in is:
REDEFINE oFolder or oPages
.
.
HELPTOPICS 1,...n --> allowed are context-numbers or strings also mixed

If for a dialog no helpid is required, please let this empty. In this case the helpindex is shown.

* Fix: PalBmpFree() was failing under some circunstances. Now it is ok.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Octubre 2008
============

* Mejora: El método LoadFromClipboard( [ oWnd ] ) de la clase TBitmap ahora acepta un parámetro opcional "oWnd", como el propietario de la ventana al manejador del portapapeles para ser creado. El métdo devuelve un valor lógico como resultado de la oeración. Gracias a Ruediger !!!

* Nuevo: En FWPPC, el ejemplo samples\RadHorz.prg muestra como construir un menú radiobutton horizontal desde código fuente.

* Nuevo: Un nuevo ejemplo interesante samples\XbrwEdit.prg que muestra como añadir y editar registros desde el propio control xbrowse.

* Mejora: Hemos modificado el ejemplo samples\SockServ.prg para mostrar en una conversación cliente/servidor de "sockets" como enviar datos desde el servidor al cliente:

DEFINE BUTTON OF oBar ACTION oClient:SendData( "Hello from server!" ) TOOLTIP "Talk to client"

* Mejora: La clase TGet está asignado la DATA lCancel a .T. cuando se crea la nueva clausula ... GET ... ACTION ..., por lo que el valid del GET no se dispara cuando el botón obtienen el foco.

* Nuevo: Tenga en cuenta que la manera de invocar al depurador en xHarbour ha cambiado. Por favor revisa el ejemplo samples\AltD.prg.
Con Harbour: buildh.bat AltD /b
Con xHarbour: buildx.bat AltD /b

* Mejora: Hemos mejorado los ficheros por lotes samples\buildh.bat y buildx.bat para que detecten automáticamente, /b (modo depuración), así se enlaza GTWIN y la bandera -aa del enlazador no se usa. Por favor, revisa _ hechos en los ficheros por lotes. Puedes usar una manera similar en tus ficheros "make" para depurar tus aplicaciones.

* Corrección: El método Colors() de la clase TControl no estaba poniendo correctamente los "dotted rect" en los botones de radio y en las casillas de verificación. Ahora está perfecto. Muchas gracias a Carlos Gallego por sus comentarios !!!

* Nuevo: Un nuevo e interesante ejemplo de uso del API de Windows sobre RAW INPUT. Por favor, revisa el ejemplo samples\RawInput.prg. Puedes encontrar la documentación sobre esto en: http://msdn.microsoft.com/en-us/library ... S.85).aspx

* Corrección: El fichero include include\TCBrowse.ch tenía un comando VALID erróneo al final. Ha sido eliminado.

* Nuevo: Nueva DATA lAdjust en la clase TSay, usada para comprobar si el ancho del control debería ser ajustado al nuevo texto cuando se llama al método SetText( cNewText ). Es .F. por defecto. Advertencia: En FWH 8.09 el ancho del control era ajustado por defecto. Ahora sólo se ajusta si lAdjust e .T. . Gracias a William Morales (wmormar) por sus comentarios !!!

Hay una nueva clausula ADJUST para los comandos:

@ ..., ... SAY ... [ ADJUST ]

REDEFINE SAY ... [ ADJUST ]

* Mejora: En FWPPC, para evitar la advertencia de enlazado LNK1166, por favor, use la bandera /ARMPADCODE:NO cuando llame al enlazador. Hemos modificado y mejorado el uso de FWPPC\samples\buildce.bat. Por favor, revisalo,gracias.

* Nuevo: Nuevo fichero por lotes samples\buildg.bat para construir tus aplicaciones FWH con el compilador de C MinGW GNU gcc. Puedes descargar este compilador de C desde su sitio http://www.mingw.org.

* Nuevo: Un nuevo Makefile se proporciona, en este caso para usarlo con MinGW gcc. Lo puedes encontrar en makes\gccmake.zip. Simplemente ejecuta make.bat dónde tengas el fichero Makefile. El contenido del fichero make.bat es:

set oldpath=%path%
set path=c:\mingw\bin;%path%
c:\mingw\bin\mingw32-make.exe
set path=%oldpath%

* Nuevo: Un nuevo e interesante ejemplo samples\ScanNonM.prg, que muestra como buscar un diálogo no modal ya abierto. Muy útil para manejar tus diálogos no modales.

* Corrección: Se ha eliminado una llamada duplicada al método ::Change() en el método LButtonDown() de la clase TXBrowse.

* FNuevo: Nuevo método Open() en la clase TDatePick. Puedes usarlo para abrirlo automáticamente cuando tome el foco:

@ 2, 2 DTPICKER oDtp VAR dDate OF oWnd ON CHANGE If( oSay != nil, oSay:Refresh(),)
oDtp:bGotFocus = { || oDtp:Open(), nil }

Por favor, revisa el ejemplo samples\TestDtp.prg.

* Corrección: La función TrackMouseEvent() tenía un error en su código fuente. Ahora está correcta.

* Nuevo: Nuevo método MmSay( nRow, nCol ) en la clase TPrinter, igual que CmSay() (centímetros), pero manejando milímetros.

* Mejora: La función PrnOffset( hDC ) --> aPoint ha sido modificada para usar la función GetDeviceCaps() para recuperar dicha información. Gracias a Ken Wantz por proponer este cambio !!!

* Corrección: La clase TPanel no estaba asignando una brocha por defecto. Ahora está correcta.

* Mejora: En la clase TOutLook2003, se había reportado error de parpadeo en el pintado cuando se seleccionaban diferentes botones en el control Outlook. Ha sido localizado y solventado.

* Nuevo: Nuevo y muy interesante ejemplo samples\TestFldG.prg que muestra como colocar gráficos de negocio en "folder page". Gracias a Patrick Weisser !!!

* Corrección: El método DelRepos() de la clase TXBrowse no estaba creando un bloque de código desde la expresión de filtro. Ahora lo hace correctamente.

* Mejora: En el método Failure() de la clase TSmtp. Los parámetros oSocket, nWSAError y cReply son proporcionados ahora cuando se evalua ::bFailure desde la función Failure().

* Nuevo: Un nuevo e interesante ejemplo samples\Signatur.prg que muestra como capturar una firma desde tus aplicaciones.

* Mejora: La función Browse() centra automáticamente en la pantalla el cuadro de diálogo del browse.

* Mejora: En FWPPC el método Initiate() de la clase TControl llama a ::CoorsUpdate() para recuperar automáticamente las coordenadas: nTop, nLeft, nBottom y nRight de los controles redefinidos.

* Mejora: Mejora del soporte de los ficheros de ayuda CHM. Por favor, revisa el ejemplo samples\TestChm.prg. Gracias a Günther Steiner!!!

Nuevas funciones en helpchm.prg:

SetHelpPopup( cPopup , nRow , nCol , nbgColor , nfgColor )

Para poner el nombre del fichero, Y-offset,X-offset, color de fondo y color delantero del fichero TXT embebido en el fichero de ayuda CHM o
desde un fichero externo.

GetHelpPopup() --> devuelve una matriz
[1] := -> Popup-file "Whats This" from the CHM or if exist this file really, the popuptopics come from here
[2] := -> nRow is the Y-display coordinate from the shown popup relative to the control
[3] := nCol is the X-display coordinate from the shown popup relative to the control
[4] := nbgColor is the background color from the popup
[5] := nfgColor is the text color from the popup

NOTA!
Si el archivo cPopup existe realmente con el siguiente formato, entonces, se llama a los temas del popup desde este fichero y no desde el
fichero txt embebido en el fichero CHM !!!

.Topic 1 //---> is the helpid from the control
popuptext for topic 1 //---> is the popup-text to shown
.
.
.Topic 5
popuptext for topic 5
.
.

NOTA para TFolder y TPages!

La nueva extensión en el fichero include FOLDER.CH para helpids para los diálogos en "carpetas" y "páginas":

REDEFINE oFolder or oPages
.
.
HELPTOPICS 1,...n --> se permiten números ó cadenas

Si para un diálogo no se requiere helpid, por favor déjelo vacio. En este caso se muestra helpindex.

* Corrección: La función PalBmpFree() estaba fallando bajo algunas circunstancias. Ahora está correcta.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply