March-April 2024
================
* New: Support for local AI LLM (large language models) using llama.cpp that has been included in FWH.
Please review samples\llm.prg. In order to test it you have to download tinyLlama.gguf from here:
https://huggingface.co/fivetech/tinyLla ... Llama.gguf. This technology only works in
64 bits and for now we just support MSVC64, so you have to use buildh64.bat to test it.
* New: Support for local AI image recognition using llava.cpp that has been included in FWH.
Please review samples\llava.prg. In order to test it you have to download these LLM models:
https://huggingface.co/jartine/llava-v1 ... -Q4_K.gguf
https://huggingface.co/jartine/llava-v1 ... j-f16.gguf
This technology only works in 64 bits and for now we just support MSVC64, so you have to use
buildh64.bat to test it.
* New: samples\getclr.prg shows how to set the disable colors and focus colors for both GETs and
MultilineGets using the same code.
* New: samples\listen.prg allows you to talk to your FWH app instead of having to use the keyboard!
* New: samples\metribbon.rg from C├®sar Gomez. A great example for combining a RibbonBar and a
metro panel style. Many thanks C├®sar!
* New: function FW_FolderChanged( cFolderPath ) --> { nDay, nMonth, nYear, nHours, nMinutes, nSeconds }
Please review new example FWH\samples\fldchanged.prg
* Enhancement: Class TExplorerBar Method Update( nPos ) updates the nPos oPanel used from the TExplorerBar
after the panel has been modified. Class TTaskPanel Method ChangeHeight( nHeight ) changes the height
of the panel. Thanks to Silvio Falconi!
* Enhancement: We have restored the call to Method Resize() from Class TWindow Method Activate() but
providing it the right parameters. Now it is working as expected.
* FWMariaConnection:
- New method Record( cTable, [cWhere] ) --> Record Object
using the new FWMariaRecord class (source\classes\mariarec.prg)
derived from tDataRow class.
This enables editing a single existing record or a new record and
saving to a table without having to open RowSet object, thus saving
time.
Usage:
oCustRec := oCn:Record( "customer" ) // creates a blank record
oCustRec:Edit() // edit and save (append) a new record
oCustRec:Blank() // load another blank record
oCustRec:Edit()
//
oStatesRec := oCn:Record( "states", "code='WA'" ) // one existing record
oStatesRec:Edit() // modify and save the existing record
- Methods CreateTable() and ImportFromDBF() used to create DateTime and
TimeStamp fields without support for fraction of seconds. Now support
fraction of seconds milliseconds.
- Improved support for Restoring large tables
* FWMariaRowSet class
- Fix in SetFilter()
a) when filter condition contains "<a> like '%abc'" is treated
same as '%abc%'. Fixed
b) Filter is failing when the like condition contains chars like
"-", "/", etc. Fixed
* TArrayData class ( source\classes\tarrdata.prg )
Bug fixes: relating to use of PValue() in xHarbour
* TEdit control:
New DATA lReadOnly: lReadOnly can be toggled during runtime also.
* function RoundBox() new 11th parameter nPenStyle, default PS_SOLID
Syntax:
RoundBox( hDC, nLeft, nTop, nRight, nBottom, ;
nRound1, nRound2, nPenColor, nPenSize, ;
nFillColor, nPenStyle )
* BtnBmp: Alpha Color support
Support for alpha color backgrounds.
- bClrGrad can now have any combination of alpha and solid colors
and thereby making it possible to have translucent backgrounds
- SetColor( nTextClr, nClrPane, oBrush ): nClrPane can now be
either alpha color or solid color
* BtnBmp: FLAT Style:
Flat style was introduce to mainly support solid colors.
While it is possible to use Gradient background also,
other styles are better suited for gradients.
- Now, flat style buttons also have alpha color support, like
other styles.
- While focusrect is drawn for othe styles using Windows API
function DrawFocusRect( hDC, rect ) (user has no choice of
colors), for flat style buttons FocusRect is drawn using
FWH function RoundBox() using TextColor to provide better
contrast.
- From this version, new DATAs are added to enable the programmer
to customize the appearance of the focus rect using different
colors and penstyles.
- New DATA nClrFocusRect. Programmer can use any solid color for
drawing the focusrect.
If the value -1 is assigned, Windows API function DrawFocusRect()
is used like other styles of btnbmp.
- New DATA nPenFocusRect: DEFAULT PS_SOLID. Programmer can assign
other styles like PS_DASH,PS_DOT,PS_DASHDOT, etc of his choice.
- New DATA nDeepFocusRect: DEFAULT 5 pixels. How deep the focusrect
is to be drawn inside the button.
* XBrowse:
- When ::lDrawBorder is .t., border was not being drawn on right and
bottom if VScroll and HScroll are visible. Fixed now.
Now, the border is drawn one pixel outside the browse control.
- New: If ::lDrawBorderIn is set to .t., the border is drawn inside
the browse control and also inside the VScroll and HScroll.
- nClrBorder: This can be a solid color or oPen (pen object) or
hPen (pen handle). If a Pen is used, the resource should be
released by the programmer after ending the browse.
- Fix: When own buttonbar is used, header-click fails to sort on
the column. Fixed
viewtopic.php?f=3&p=269418&sid=c37ba41f76455848d6fa4810ba2938bd#p269418
* AdoFuncs: (source\function\adofuncs.prg)
- New: function FW_OnAdoError( lShowError, lcLogError, bOnErr )
Some ado functions display encountered errors. This can
be prevented using this function, so that he can
handle the error on his own.
Params:
1.lShowError [.T./.F.] default .t.
2.lcLogError [.T./.F./cLogFile] default .f. If .t., the errors
are logged to <exename>.log. If cLogFile is specified errors
are logged to the specified file.
3. bOnErr: If specified, this codeblock is evaluated with
params |oCn, oErr, e, GetPrcLn( 1 )|
- New: function FW_GetAdoError( oCn ) --> oAdoErr
Returns Ado Error and then clears the error.
- Enhanced: function FW_ShowAdoError( oCn, [lSilent = .f.], [er] )
The function displays (if not silent) and/or logs error
and/or evaluates bOnError set earlier and clears the error
Returns oAdoError
- Enhanced: function Fw_OpenAdoConnection( ;
cConnStr, [lShowError], [@oErr], [nTimeOut] )
* fwxlsxlb.prg: fixed format while exporting datetime values with
fraction of seconds. Also increased column size to fit the
contents.
* FWMariaRowSet:
- Method ToExcel(): (1) Enclosed :FreezePanes in TRY/CATCH block
to avoid runtime errors in some installtions.
(2) Date and DateTime values are exported as character data
when the Year is < 1900 to avoid loss of data and errors on export.