What's new

(Text in red indicates modifications thay may break your actual source code)

Enhancements on Xailer 9.1.0

  • IDE:
    • Compilation support for Linux in WSL environments
    • Intellisense support for array-type properties of objects
    • Allow parameter typing in ModifyEvent method
    • Display possible DATA values with enumerated values in Intellisense after typing ‘:=’
    • Unified lib.info support for projects that include multiple libraries
    • Fixed important bug in creating class member list in Intellisense
    • New TWebcam control
    • Code signing support from PFX certificate files
    • Sqlite Editor: New context menu option on the ‘To JSON’ button to allow exporting only the data
  • Controls
    • TWebbam: New control
    • TPicture: support of WEBP format
    • TTreeViewItemMod: Error on Delete method
    • Scale settings on multiple controls
    • TCardbox: Items were not resized correctly when the control was resized

  • DataControls
    • Sqlite: Updating libraries to the latest version 3.46.1

  • Samples
    • New TWebcam sample

     

Enhancements on Xailer 9.0.1

  • IDE:
    • Support of properties VALUES on Intellisense
    • Window size adjustment on Windows 10/11
    • Never load files larger than 1GB in the editor
    • Error selecteing various TGroupBoxMod controls with the mouse
  • Controls
    • TSummerNote: New note-tip, note-info and note-warning styles in the html help editor
    • TSummerNote: Support links within the same help of the type “page#section”. To locate the “section”, it has to be only within a tag, without more text
    • TSummerNote: New cStyleTags and Style properties. They allow you to add styles to the editor menu (see summernote doc)
    • TSummerNote: New property cFonts
    • ThtmlhelpView: New properties nPanelWidth, nHelpWidth, nHelpHeight
    • THeaderItemMod: oHeader:oCol:nFilterEditStyle assignment error
    • TTreeViewItemMod: Tree insertion error
    • TBrwColMod: Error with loss of focus in edit control
  • DataControls
    • Sqlite: Libraries update to the latest version 3.45.2
    • TDataset: Avoid undo editing when a save error occurs
     

Enhancements on Xailer 9.0.0

  • General:
    • Linux adaptations of non-visual modules
    • New libraries CGILib, CGILinux and libSQLiteLinux.a
  • IDE:
    • Support for compiling on Linux from windows using WSL
    • Support running CGI projects from WSL
    • SQLite editor: UTF8 collation support and tool to change the ‘charset’ in any DB
    • New ASCII table
    • New “Distribute in window” option in “Align controls”
    • Intellisense did not work until the file was saved
    • Show search history in searches in current editor
    • New component TMicrosoftMailSend
    • Moving Xailer from one monitor to another did not maximize the main window
    • New plugins events: FE_InsertControl, FE_RemoveControl y FE_InsertComponent
    • Being able to set ‘charset’ at the project level
  • Controls
    • TTabs: Avoid selecting the tab when adding it to its container
    • TMicrosoftMailSend: New class for sending emails through Microsoft Mail
    • TRadioMenu: Paint settings
    • TWebView: New event OnWebResourceResponseReceived( oSender )
    • TExplorerGroup: New property lCollapsible
    • TCalendarMod: Error when selecting the month of December
  • DataControls
    • Sqlite: Error in conversion of date and datetime types
    • Sqlite: Libraries update to the latest version 3.45.1
    • Sqlite: Two versions of the same library: One complete (libSqliteFull.a) and a lite one (libSQLite.a)
    • Sqlite: New internal functions AnsiToUtf8() and Utf8ToAnsi()
    • Sqlite: New colations UTF8Case and UTF8NoCase
    • TWebDataSource: New properties lCachedQueries and nCacheTTL
    • TWebDataSource: New property cChaceDB to indicate a diferent path for the cache DB
    • TWebDataSource: New methods DelCachedQueries( [xTable] ) and CachedRatio()
    • TWebDataSource: Error on RefreshCurrent()
    • TDbBrowseMod: New version of XA_wdsMySql.php to avoid the use of commas as decimal separator
  • Classes
    • TExStruct: STRUC comand renamed to STRUCT
    • TExStruct: DATETIME type support
    • TExStruct: Enhancement on method ToJson() to work with nested structures
  • Functionss
    • New function UuidCreate() –> cUuid
    • New function NoAccents()
    • Function XA_Ligthness() is available a the high level
     

Enhancements on Xailer 8.2.3

  • General:
    • Inability to create stand-alone executables in Personal version
  • Controls
    • TBrowseMod: New method ColWithHeader( cHeader )
    • TBrowseMod: New methods HitTest( aPos ) and HitTestCol( nX )
  • Classes
    • TSumatra: New prperty nToolBarHeight

Enhancements on Xailer 8.2.2

  • General:
    • Inability to create stand-alone executables in Personal and Professional versions
  • IDE:
    • New property oFont on menus popup
    • Error on TreeView scaling
  • Controls
    • TTabs: OnContextMenu was not triggered
    • TEditMod: New style esUPDOWN on nStyle property
    • TEditMod: New property nClickedPos
    • TTimeEditMod: New property lSeconds
    • TTimeEditMod: Initialization to Time() when NIL
    • TTimeEditMod: Support of Up-Down buttons
    • TButtonMod: New property lFlat
    • TTMenu: New property oFont
    • TTabs: nTabSize, nTabsMargin and nItemPadding scaling
    • TBrowseMod: New property lTooltips
    • TBrowseMod: New event OnDispTooltip( oSender, @cText, @cTitle, @nIcon, nIndex, oCol )
    • TSummerNote: Errors correction
  • DataControls
    • libSqlite.a: Updated to 3.42.0
    • TDbBrowseMod: Sort and group error
    • TMariaDb, TMySql y TSqlite: Error on complex queries. Allow HAVING on filters
  • Functions
    • New function XA_FunctionExists( cFunction ) -> lExists
  • Samples
    • samples\MovingBox: New sample with controls moving

Enhancements on Xailer 8.2.1

  • IDE:
    • Error in ‘Switch to’ context menu option of TSplitButton control
  • Controls
    • TWebView: New nZoomFactor property (NOTE: 1.0 is 100%, 1.5 is 150%, etc.)
    • TButtonMod: Painting error when using ‘&’ on its text
    • TButtonMod: New lLegacyBehaviour property so INTRO always fires OnClick
    • THeaderItemMod: Incorrect painting of the selected column
    • TComboboxMod: Error in GetText method when lFreeEdit to .T.
    • TBrowseMod: lHotTrack property assignment error
    • TBrowseMod: Error on events: lButtonDown, lButtonUp, RButtonDown and RButtonUp
  • DataControls
    • libSqlite.a: Upgraded to 3.41.2
    • TDbBrowseMod: Bug handling and improvements to AdjustColWidth()
    • TDbBrwColMod: TDatafield assignment error
    • TDbComboboxMod: Error in SetValue() method for dtIndex and dtBound type with lFreeEdit
  • Functions
    • New fuction GetCurrentProcessId() –> nProcessId

Enhancements on Xailer 8.2.0

  • IDE:
    • Automatically put the HB_Symbol Unused ([parameters]) text when methods are created in the IDE if the compiler warning level is established at a value of two or higher
    • By adding an image from disk (no resources) to a TBTNBMP sometimes I didn’t load it
    • New Property Editor for Properties that can depend on Application:nScale
    • New event ED_TabContextMenu for plugins and components
  • Controls
    • TListBoxMod: Error on method OnClick
    • TListboxMod: New event OnChanged()
    • TCheckBoxMod: Painting enhancements
    • TRadioMod: Mouse click did not change the focus
    • TButtonMod: Text centering error when acelerators were used
    • TButtonMod: Mouse click did not change the focus
    • TButtonMod: Create opacity with current background color
    • TBtnPanelMod: Create opacity with current background color
    • TBrowseMod: Error on methods SaveState and RestoreState
    • TBrowseMod: New property lHotTrack
    • TBrowseMod: New property lOnEditUseReturn (PUBLIC). When NIL acts like Application:lUseReturn
    • TBrowseMod: Center image when there is no text on column headers
    • TBrowseMod: Enhancements on OnContextMenu and OnEnter events
    • TBrowseMod: OnChar was not triggered
    • TBrowseMod: Avoid doble-click triggering when the mouse is in virtual scrollbars
    • TBrowseMod: New property nMargin
    • TBrowseMod: Error on header filtering
    • TBrwColMod: Give access to EditForGrid:OnBtnClick event to the user
    • TBrwColMod: Alignment error of the grid edit
    • TBrwColMod: Assignment error on drop-down list values
    • TCalendarMod: Error on multi-select mode
    • TTreeView: New properties nClrSelFocus and nClrSelItem
    • TFastReport: Corrected ODT export
  • DataControls
    • libSqlite.a: Upgraded to version 3.41.0
    • TMemDataset:Error on method OrgRecno
    • TWebDataSource: New property nSendTimeOut for Email sending
    • TWebDataSource: New methods RenameFile(), UpLoadFile(), DnLoadFile(), ADirs(), AFiles(), RemoveDir()
    • TWebDataSource: Support of method Refresh() that was VIRTUAL
    • TDbBrwColMod: New read only property cDataField
  • Classes
    • TApplication: New property hVersionInfo
    • TScreen: Some times ::aMonitors were not correctly ordered
    • TWiaScan: Devices() array now contains a thid value on each element with the type of hardware (0=Default, 1=Scanner, 2=Camera, 3=Video)

Enhancements on Xailer 8.1.0

  • General:
    • New help system: XHtmlHelp
    • TForm: New property XHtmlHelp
  • IDE:
    • Support of ‘dummy’ commands REGION, BEGINREGION and ENDREGION for folding on the editor
    • Support of three monitors
  • Controls
    • TSummerNote: New HTML editor control based on TWebView
    • TAnimatedGif: New control to show animated gifs
    • TWebView: New event OnWebMessageReceived( oSender, cJson )
    • TWebView: Definitely solved the random GPF when creating the control
    • TWebView: New method DeleteAllCookies()
    • TBrowseMod: New events OnPostSave() and OnChangeSelected()
    • TBrowseMod: Error while procesing lFastEdit property
    • TBrowseMod: Error on incremental search
    • TBrowseMod: New method TBrwGroup:SumTotal( xCol )
    • TCheckBoxMod: Event OnChanged() removed for useless and to mantein compatiblity with no ‘Mod’ controls
    • TRadioMenuMod: Event OnChanged() removed for useless and to mantein compatiblity with no ‘Mod’ controls
    • TCheckBoxMod: Event OnChange( oSender, lNewValue ) modified, now receives lNewValue changed, but by reference, so it can be changed
    • TRadioMenuMod: Event OnChange( oSender, lNewValue ) modified, now receives lNewValue changed, but by reference, so it can be changed
    • TCheckBoxMod: Painting enhancements
    • TRadioMenuMod: Painting enhancements
    • TComboBoxMod: New events: InsertItem(), AddItem(), DeleteItem(), DeleteItems(), ModifyItem() y GetCount(). For compatibility with no ‘Mod’ controls
    • TRadioMod: Painting enhancements
    • TSwitch: Set focus effect adapted to new MOD controls
    • TListboxMod: New methods CheckAll() and UnCheckAll()
    • TListboxMod: Event OnClick was triggered twice
    • TTooltip: Links were not shown
    • TTooltip: New parameter <nLink> on OnLinkClick( oSender, nLink ) that indicates the link clicked, starting with 1
    • TLabelEx: New parameter <nLink> on OnLinkClick( oSender, cText, nLink ) that indicates the link clicked, starting with 1
    • TColorComboBox, TComboBox, TFontCombobox, TOptionList: Scaling improvements
    • TUpDownMod: Replay support
    • TEditMod: Avoid to see the password text if a Paste o Setvalue() operation has been done
    • TPicture: New parameter <nImageIndex> on all methods LoadXXX()
  • DataControls
    • libSqlite.a: Actualizada a 3.40.0
    • TDbBrowseMod: Error Save method
    • TMemDataset: New methods: TableName(), SqlInsert() y SqlUpdate()
    • TWebDataSource: New methods: CurrentDir(), IsDir(), MkDir() and ForceDir()
    • TWebDataSource: New methods: SendMail()
    • TWebDataSource: Enhancementes on connections and error management
  • Classes
    • TApplication: New property lDpiAware
    • TReport: New property cPdfFilename
    • TPrinter: New method EmfToPrinter( nPrinter, nFirst, nLast )
    • TSumatraPrinter: Error when changing any property
    • TSumatraPrinter: New property nPageOrient
    • report.ch: New clause: REPORT .. TO PDF <cPdf> y REPORT .. KEEP
  • Functions
    • New function xa_VarsEqual( xValue1, xValue2 ) –> lEqual (value)
    • New function xa_UnixTimeStamp2DateTime( nTimeStamp ) –> dtValue

Enhancements on Xailer 8.0.1

  • Controls
    • TWebView: Avoid instantiating ICoreWebView2EnvironmentOptions if not strictly necessary. A recent windows update is causing GPF to instantiate this interface for some users
    • TWebView: New parameter lIsUtf8> that indicates if the string is already in UTF8 format: METHOD SetContent( cHtml, [lIsUtf8] ) -> nError
    • TGoogleDrive: When cToken is incorrect, ask the user to identify himself again, Error when ‘errorcode’ was received as numeric
    • TDropBox: When cToken is incorrect, ask the user to identify himself again, Error when ‘errorcode’ was received as numeric
    • TOneDrive: When cToken is incorrect, ask the user to identify himself again, Error when ‘errorcode’ was received as numeric
    • TBrowseMod: New event OnClickRecSelector()
    • THeaderMod: nHeaderHeight 0 by default. On that case is calculated automatically
    • TBrowseMod: Recover recno after a filter change
    • TCheckBoxMod: Painting error when disabled
    • TRadioMod: Control paint redesign
    • TUpdDownMod: New property nClrPenDisabled
    • TEditMod: Error displaying text with esPASSWORD style
    • THeaderMod: nHeight 0 by default. On that case is calculated automatically
  • DataControls
    • TDbBrowseMod: Redesign of your synchronization with dataset
    • TDbComboBox: Redesign of GetValue() and SetValue due to changes in Datacontrols
  • Clases
    • TPrinter: Error on method PreviewControl
  • Commands
    • Nueva clause on command FILE ADDITIVE
    • Nueva clause on command TEXT INTO ADDITIVE
  • Samples
    • samples\Datacontrols\MariaDB: New browse sample using MariaDB
    • samples\Modern\Browses\Freeze: Nuew browse sample simulating column freeze

Enhancements on Xailer 8.0.0

  • General
    • Fixed painting problems in Windows 11
  • Controls
    • TGoogleDrive: New control to access the Google Drive cloud
    • TDropBox: New control to access the DropBox cloud
    • TOneDrive: New control to access the Microsoft cloud
    • TShape: New control to paint different geometric figures
    • TUpDownMod:New modern style ‘up-down’ control
    • TGmailSend: Adapted to changes made by Google
    • TBrowseMod: Error in painting vertical lines
    • TBrowseMod: Error in DelCol method and OnSaveCol event
    • TBrowseMod: FastEdit editing error
    • TBrowseMod: New property lAlternateColor (browses with pajama paper style)
    • TTrackBarMod: Error in painting the baloon with the current percentage
    • TFastReport: New method StopReport()
    • TButtonMod: New property nBorderRadius
    • TButtonMod: Deleted nBmpAlignment property
    • TButtonMod: New properties: oMenu y nOrientation
    • TButtonMod: New event OnMenuClick
    • TButtonMod: New properties lDefault and lCancel
    • TButtonMod: Property oBitmaps erased. Replaced by oImagelist + nImage
    • TBtnPanelMod: New property nBorderRadius
    • TEditBtn y TDateEdit: Painging enhancements
    • TListBoxMod: New lShortCuts property to support keyboard shortcuts
    • TSplitter: Property nResizeStyle erased due is useless (contralados posible RTE)
    • TTabs/TTabsItem: Removed the cross bitmaps to close tabs. Now they are painted
    • TImagelist/TBtnBmp: PNG file support
    • THyperLink: Keyboard shortcuts did not work
    • TRadioMod: New property nOpacity
    • TRadioMod: Removed nVAlignment property
    • TRadioMod: Height changed to 28
    • THeaderMod: Height changed to 28
    • TEditMod: Height changed to 28
    • TEditMod: Avoid underscore on cHint
    • TBrowseMod: Height changed to28 on Header and Footer
    • TComboBoxMod: Support of filters in the dropdown list according to entered text
    • TFastReport: Error on VariableList() and CategoriesList()
  • DataControls
    • TDataset: Error due to improper updating of unmodified fields As of Xailer 8 any change of type (Valtype()) in the dataset fields (TDataField) will generate a run time error. This is likely to cause errors in your code. We understand that it is better to show the ERROR than to mask it.
    • TDataField: New method HasChanged( Value )
    • TSqlite: Updated to version 3.38.5
    • TSqlite: Allow to connect (ATTACH) an unencrypted DB to an already open encrypted DB. Before, the two databases had to be unencrypted, or encrypted with the same key. Now the second can be unencrypted. If both are encrypted but with different keys, an error will occur.
    • Sqlite:: Increased the precision of the local_timestamp() function to milliseconds
    • TMySql/TMariaDB:: Allow indicating the precision of the DATETIME and TIMESTAMP in CreateTable() The precision is indicated as decimals, while the length can be left at 0 and is ignored.. P.ej.: { “Date”, “T”, 0, 3 }
    • TDBBrowseMod: Error on AdjustColsWidth()
    • New method in all DataControls DbLinked() that allows to know if the DataField has been assigned successfully
    • TWebDataSource: Updated XA_wdsMySql.php module with charset support
  • Classes
    • TSysVer: Windows 11 support
  • Functions
    • New function XA_DRAWROUNDEDRECT // XA_DrawRoundedRect( hDC, rect, nDia, nColor, nTransparency, nPenSize ) –> NIL
    • New function XA_FILLROUNDEDRECT // XA_DrawRoundedRect( hDC, rect, nDia, nColor, nTransparency ) –> NIL
    • New function XA_UrlEncode( ) ->
    • New function XA_UrlDecode( ) ->
    • New function XA_UrlDecodeToAnsi( ) ->
    • New function XA_DateTimeZ2Local( )
  • Commands
    • New command: FILE INTO NOTE: Allows you to read the content of the file inside a variable , in compile time. Works in the same manner as #include, but the contents goes to the variable