Page 1 of 3

New FWH 13.07 revised build

Posted: Tue Aug 13, 2013 11:24 am
by Antonio Linares
Revised build July 2013
=====================

* Fix: XBrowse.prg: Destroy() method of TXBrowse class now releases refernces
to recordset and other similar objects by setting their references to nil.

* Fix: DataRow.prg: TDataRow class now releases refernces to recordset and
other similar objects by setting their references to nil while exiting.

* Fix: Class TImage still required some changes for FWH 64 bits. Now it is ok.
Print Preview on 64 bits properly exports to PDFs.

* Fix: Class TButtonBmp was not checking if the supplied bitmap name is an
empty string. Now it is ok:

http://forums.fivetechsupport.com/viewt ... 68#p149268

* Fix: datarow.prg: Method End() results in runtime error with Harbour. Fixed

* Enhancement: FW_OpenRecordSet(...): Improved to open persistently saved recordsets
Syntax: FW_OpenRecordSet( nil, cFileName )
Not necessary but better FW_OpenRecordSet( nil, cFileName, nil, nil, nil, adCmdFile )

* Fix: There was a bug in samples/fivedbu.prg on Memo editing, now it is ok.
You can download the more recent FiveDBU from here:

https://code.google.com/p/fivewin-contr ... 130803.zip

* Fix: Print Preview send as email feature is properly working now. There was a bug
when creating the attached file name of the PDF. Thanks to Lucas!

* XBrowse.prg: While browsing a recordset opened with adLockBatchOptimistic, the browse stays
stable even if connection to server is lost. Any edits during the browse are not saved to the
Server. After exiting from the browse, programmer has to update the changes by calling
oRs:UpdateBatch() in TRY..CATCH block.

* New DATA XBrowse: lFullGrid (default .f. ). If set to .t. horizontal grid lines are drawn
completely till right and till bottom even when there is not enough data.

* Enhancement: ButtonBmp: Tooltip can be specified in the command. Valid bitmap handle also can
be specified in the BITMAP clause

* XBrowse: New Method GoToCol( oCol ) --> lSuccess. The parameter oCol can be a column object,
or nCreationOrder or Header of the column. Cursor is repositioned on the column selected. If the
column is outside display area, the column is brought into the display area. The method does not
succeed when the column is hidden or freeed columns themselves occupy the entire display.
This method may be used instead of SelectCol() for repositioning the cursor.

* XBrowse: New DATA lSortDescend ( default .t. ). If set to .F., toggling to descend sort is disabled.

* New: New DATA bToExcel in TReport class. If specified this bToExcel is evaluated instead of the
builtin method to export to excel

* XBrowse: Inconsistencies in painting row color to the right of the last data column betwen
drawline() and paint() methods is fixed.

* New: samples/bmptoc.prg and curtoc.prg create the C source code for bitmaps and cursors, in
case that you want to store them in your code.

* New: Print Preview no longer needs the prev...DLL. All the preview resources have been ported
to C code.

* New: We have implemented a new FWH strings API to provide internationalization at runtime,
and that you can also use to provide internationalization to your own apps too:

The Strings API functions are:

1. FWSetLanguage( nNewLanguage ) // sets the language to use at rumtime

2. FWString( "my string" ) // searches for "my string" translation and returns it

3. FWMissingStrings() // generates the source code for the missing strings to translate

By default the language is automatically set to the HB_LangSelect(), if the program has
already set HB_LangSelect() our functions adopt the same language by default

User can add a new language using FWAddLanguage( aTranslates ), for example if you want to
add whatever language (not unicode), you have to build an array with your language translates
for the same words used in strins api and call FWAddLanguage( aTranslates ) then onwards the
system uses the new language translates.

Using the function FWAddString( aString ) you can add your own strings at runtime.

* Enhancement: function ShellExecute() has been ported to C language, so now it properly
works on FWH 64 bits too.

Re: New FWH 13.07 revised build

Posted: Tue Aug 13, 2013 12:15 pm
by lucasdebeltran
Excelente.

¿También está disponible FWH64 corregida?.

Muchas gracias.

Re: New FWH 13.07 revised build

Posted: Tue Aug 13, 2013 12:20 pm
by Antonio Linares
Lucas,

Si :-)

Re: New FWH 13.07 revised build

Posted: Tue Aug 13, 2013 1:04 pm
by Antonio Linares
Note for xhb.com users:

FWH 13.07 uses standard C language functions strlwr() and strdup(), but unfortunately the C compiler used by xhb.com (PellesC) does not provide them:

http://www.diplom.org/~njudge/cxref/strdup.c.src.html

http://www.cprogramming.com/snippets/so ... trlwr-in-c

For those that don't know to implement this code in their apps, we will provide them a modified FWH library that does not require them.

And our best advise for you: Migrate to Harbour :-)

Re: New FWH 13.07 revised build

Posted: Tue Aug 13, 2013 9:32 pm
by Enrico Maria Giordano
Antonio Linares wrote:And our best advise for you: Migrate to Harbour :-)
Or migrate to free xHarbour.org, why not? :-)

EMG

Re: New FWH 13.07 revised build

Posted: Wed Aug 14, 2013 8:45 am
by Antonio Linares
Enrico,

Yes, thats fine too, so any C compiler can be used :-)

Re: New FWH 13.07 revised build

Posted: Wed Aug 14, 2013 9:28 am
by Horizon
Antonio Linares wrote:Note for xhb.com users:

FWH 13.07 uses standard C language functions strlwr() and strdup(), but unfortunately the C compiler used by xhb.com (PellesC) does not provide them:

http://www.diplom.org/~njudge/cxref/strdup.c.src.html

http://www.cprogramming.com/snippets/so ... trlwr-in-c

For those that don't know to implement this code in their apps, we will provide them a modified FWH library that does not require them.

And our best advise for you: Migrate to Harbour :-)
Hi Antonio,

Is it possible to provide these functions for xhb in fwh lib.?

Thanks.

Re: New FWH 13.07 revised build

Posted: Wed Aug 14, 2013 10:23 am
by Maurizio
Antonio
I migrate from version March 2013 ( it works OK) to this version
I use Harbor and Microsoft Visual Studio 2010 x86

When I execute the EXE , I have this message :

Impossibile trovare il punto di ingresso K32GetModuleFileNameExA della procedura nella libreria di collegamento dinamico KERNEL32.DLL

Regards
Maurizio

Re: New FWH 13.07 revised build

Posted: Thu Aug 15, 2013 8:48 am
by Antonio Linares
Maurizio,

Please add this function to your main PRG:

function GetTasks() ; return nil

Re: New FWH 13.07 revised build

Posted: Fri Aug 16, 2013 7:16 am
by Maurizio
Thank Antonio ,

It works , you cann fix it for the next version ?


Regards Maurizio

Re: New FWH 13.07 revised build

Posted: Sat Aug 17, 2013 9:31 pm
by lucasdebeltran
Antonio,

Please, is there any fix?.

Your proposed solution crashed when calling errorsys.prg.

Thank you very much.

Re: New FWH 13.07 revised build

Posted: Sun Aug 18, 2013 9:51 am
by Antonio Linares
Unfortunately there is no fix for that as GetModuleFileNameEx() does not exist in XP.

If you want XP support then forget about using GetModuleFileNameEx()

If nobody wants it, then we will remove it from FWH :-)

Re: New FWH 13.07 revised build

Posted: Sun Aug 18, 2013 9:57 am
by Enrico Maria Giordano
Antonio,
Antonio Linares wrote:Unfortunately there is no fix for that as GetModuleFileNameEx() does not exist in XP.
Here they say it does exist:

http://msdn.microsoft.com/en-us/library ... s.85).aspx
Requirements
Minimum supported client
Windows XP [desktop apps only]
EMG

Re: New FWH 13.07 revised build

Posted: Sun Aug 18, 2013 10:09 am
by Antonio Linares
Enrico,

You are right :-)

This is the key:
Kernel32.lib on Windows 7 and Windows Server 2008 R2;
Psapi.lib (if PSAPI_VERSION=1) on Windows 7 and Windows Server 2008 R2;
Psapi.lib on Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP
It uses different libraries for XP and for Windows 7 and above. Lets see if there is a way to solve it :-)

Re: New FWH 13.07 revised build

Posted: Sun Aug 18, 2013 10:25 am
by Antonio Linares
It uses the same lib always, psapi.lib

What was the error on XP ?