New FTDN June/Junio 2017 (FWH 17.06)

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

New FTDN June/Junio 2017 (FWH 17.06)

Post by Antonio Linares »

June 2017
=========

* Enhancement: FWH 64 bits function FWCallDLL() now supports up to 12 parameters.
This change was required to support the TensorFlow DLL:

http://forums.fivetechsupport.com/viewt ... 84#p202384

* Enhancement: German implementation of NUM2WORDS() improved.
Thanks to Mr Gunther
http://forums.fivetechsupport.com/viewt ... =3&t=34164

* Report: Enhancement: Now Group titles for columns can be specified.
Syntax:
COLUMN <clauses> GROUPTITLE <cGrpTitle> <otherClauses>
Successive columns with the same group title are shown under the
group.

* FWMARIADB:
- Fix: Calling Requery() when Eof() resulting in Runtime error. Fixed.
- Fix: Incremental Seek in XBrowse: When a space character only is pressed,
the row pointer is moved to the top. Now it seeks to a value starting with
space. If not found, the key is rejected. This is the correct behavior.

* Enhancement: TDataRow class now supports TPQQuery class of hbpgsql, pgsql
of (x)Harbour

* XBrowse:
- Fix: Due to break in code in recent versions, changing sort order by
clicking headers while brosing TDatabse stopped working. Fixed.
- While browsing TDatabase objects, incremental seek on non-character
fields and incremental filters also work the same way as RDD.
- Fix: Runtime error when calculating the width of character column,
when picture is provided and nDataLen is not available. (Bug in
FWH 17.05). Fixed
http://forums.fivetechsupport.com/viewt ... =3&t=34176
- Fix: Incremental Seek: After entering only a space character, backspace
does not work. Fixed.
- Fix: MakeTotals() errors out in case of AGGR_MIN and AGGR_MAX. Fixed.
- Enhancement: Now AGGR_MAX and AGGR_MIN can be used for any datatype
http://forums.fivetechsupport.com/viewt ... =3&t=34181
- Enhancement: Method Report()
- Though column headers having CRLF are shown in different lines in xbrowse,
they are shown in single line when exported to Report. Now they are
shown in different lines in Report also.
- Group headers of xbrowse are exported to report as column group
titles.

* MENUS

- Fix: Bug in Menu window MdiChild
When ALT + key ( shorcut "&" ) is pressed, item selected not is correct
METHOD MenuChar CLASS TWINDOW modified
http://forums.fivetechsupport.com/viewt ... 65#p186096

- Fix: Style 2013 features

- New Features: for use with databases and Arrays, create menu automatically

MENU.CH

#xcommand MENU [ <oObjMenu> ] ;
.../...
[ SELECT <uData> ] ;
[ COLUMNS <aCols,...> ] ;
[ LIMIT <nLimit> ] ;
[ <lExpand: EXPAND> ] ;
[ <lForm: NOFORM> ] ;
[ HEADERS <aHeads,...> ] ;
[ ACTION <uAction,...> ] ;

uData: nArea, Alias or Array ( And in the future object of connection )
aCols: number of columns selecteds for items of Menu ( COLUMNS 1, 2, 5 )
nLimit: number of records or items ( array )
lExpand: if Menu is draw with child menus for firts items ( first column or field )
lForm: if Menu is draw with items BREAK or no
aHeads: Array of Headers for Items columns ( HEADERS "Name", "Type", "Length", "Decs" )
uAction: Codeblock generic executed when item is selected.
Always receives as parameter the selected item object
{ | oI | MyFunctionActions( oI ) }

New Sample showing: \fwh\samples\MNUSELECT.PRG

* Enhancement to function:
GradientFill( hDC, nTop, nLeft, nBottom, nRight, aGrad, [ lVert := .t. ] )
If aGrad is an array of size 2 and both elements are numbers (representing colors),
the gradient is drawn as a cicular gradient with first color at center.
Example: { CLR_WHITE, CLR_BLUE }
Wherever gradient is specified as an array of two colors, then it is drawn as
as circular gradient.

* Enhancement: TBtnBmp: New DATA nRound INIT 6. Specifying a different value
(eg oBtn:nRound := 20) draws the rounded rect with size nRoung

* New: TButtonBmp: New Class Data cPosDefault: If specified this value is the
defalut PostText for all buttonbmps

* New: DATA bOnDeviceChange in Window.prg

* Enhancement: TDatabase now recognizes field type "I:+" also as autoincrement
(and readonly) field.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by Enrico Maria Giordano »

With this new release, the size of my EXE is 1MB more than the previous! Why? What can I do to reduce the size to the previous amount?

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by Enrico Maria Giordano »

Found! It is Fw_DbfToArray(), now used in pdmenu.prg, that forces the link of database.prg and dependent modules.

I have a proposal: why not rename the current menu system to MENUEX and made a minimal MENU class for who doesn't need the extra features?

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by Enrico Maria Giordano »

Sorry, too hot here. It is Fw_DbfToArray()! Definitely. I overridden it with the wrong name. Now my EXE have the old size. What do you think of my proposal? Surely it would keep the EXE sizes even smaller.

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

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by Antonio Linares »

good finding :-)

It may be simpler if you just overrride it as you did
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by cnavarro »

Enrico
I certainly have not understood your problem well
I have replaced the call of the function Fw_DbfToArray with this code and the sizes of my EXEs are the same.

Code: Select all


                  //uData := Fw_DbfToArray( "*", , , IF( oMenu:nLimit <= 0, ( cAlias )->( LastRec() ), oMenu:nLimit ) )

                  uData  := {}
                  cList  := ""
                  AEval( aFields, { |a| cList += "," + a[ 1 ] } )
                  cList  := Substr( cList, 2 )
                  cField := &( "{||{" + cList + "}}" )
                  DbEval( { || AAdd( uData, Eval( cField ) ) }, , , IF( oMenu:nLimit <= 0, ( cAlias )->( LastRec() ), oMenu:nLimit ), , )


 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by cnavarro »

I tested only with one prg: samples\mnuselect.prg
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
gkuhnert
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands
Contact:

Re: New FTDN June/Junio 2017 (FWH 17.06)

Post by gkuhnert »

In the buildx.bat from the samples might be a small error (I corrected the code to):

Code: Select all

echo %fwh%\lib\pgsql.lib %hdir%\lib\libpq.lib + >> b32.bc 
 
instead of (with error):

Code: Select all

echo %fwh%\lib\pgsql.lib %fwh%\lib\libpq.lib + >> b32.bc 
 
With this change compiling works well, without I get an error that libpq.lib couldn't be found.
Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
Post Reply