News from 4-May-2007 (KOL & MCK v2.59)
[*]
UNI
1. LVKOLText: string -> KOLstring.
2. GetAcceleratorText fixed for Unicode version.
[+] Function ReplaceExt added.
[-] TObj.SetName fixed for case of empty string (emty string did not assign as a name).
[-] TDirList.ScanDirectoryEx - memory leak fixed for case of several calling with different filters.
[-] JustOne, JustOneNotify now work correctly for multiple forms project not having separate Applet object.
[-] ParentAnchorChildren fixed for restoring and maximizing form.
[-] NewTabControl, NewTabEmpty asm versions fixed (incorrect number of options to set).
[-]
MCK
TKOLActions code generation fixed in MCK.
[-] delphicommctrl.inc: constant PBT_APMRESUMEAUTOMATIC value fixed. (The application Multiclipbrd from this site recompiled and now resumes OK after hibernation).
[+]
OTH
1. KOLCxTiffJpg added, implementing TIFF very fast (decode only but complete in a wide range of formats). Jpeg is mostly equivalent to KolJpeg but used in TIFF implementation and using this version it is possible to avoid code duplication if Jpeg support necessary together with Tiff.
2. Lnk: FileTypeRegEx and FileTypeReg2 fixed (totally abandon previous file association correctly).
3. KOLGraphicEx: faster working with PSD format.
 
News from 15-Apr-2007 (KOL & MCK v2.58)
[*]
UNI
1. Functions Trim, TrimLeft, TrimRight: string -> KOLstring.
2. TDirList.ScanDirectory: special check for Unicode characters in file names, by MTsvDN.
[-] Symbol TIMER_APPLETWND usage fixed.
 
News from 13-Apr-2007 (KOL & MCK v2.57)
[+]
XP
Conditional define TABCONTROL_XP added. With it, tabs are created transparent, which makes tab control looking correctly "themed" (when XP themes are on).
[*] Conditional symbol NEW_ALIGN removed still this aligning (by Galkov)  become now default. A conditional OLD_ALIGN added to allow to return to old aligning algorithm if necessary.
[+] Conditional symbol PSEUDO_THREADS added, which converts all threads to pseudo-threads. Actually application become single-threaded, but threads are simulated. Read notes before using it (at least you should first replace critical sections with semaphores!). Also conditional symbol WAIT_SLEEP added which adds 10 ms sleep into WaitForMultipleObjects replacement for PSEUDO_THREADS.
[+] An option lboHScroll added for list box options.
[-]
UNI
Following fixes:
1. GetAcceleratorText (string => KOLstring)
2. TControl.TBSetTooltips (asm version off for UNICODE_CTRLS)
3. TDirList.Destroy, TIniFile.Destroy, TControl.Destroy, TTrayIcon.Destroy, TOpenSaveDialog.Destroy, TOpenDirDialog.Destroy (asm version: LStrClr => WStrClr for UNICODE_CTRLS)
[-] TBitmap.LoadFromStream and LoadFromStreamEx fixed (for two different bugs with "incorrect" bitmaps).
[-] Conditional LOADEX added to force using TBitmap.LoadFromStreamEx for loading TIcon bitmap parts from stream.
[-] TFont.SetFontOrientation (asm version) fixed (for case of negative degree).
  kol_err.zip updated (err.pas adopted for UNICODE_CTRLS)
  KOLBook v1.5 released
 
News from 31-Mar-2007 (KOL & MCK v2.56)
[-]
UNI
1. FileOpSeparator redeclared as KOLChar (this fixes problems with UNICODE_CTRLS symbol).
2. TAction.SetCaption and UpdateMenu: variables redeclared to KOLstring to avoid problems with UNICODE_CTRLS.
[*] FDynamicMenuID variable moved to interface part of KOL.pas. This allows to change it directly from your code if you plan to rebuild menu objects dynamically at run time and want to avoid problem with very restricted range of available ID's ($1000 - $FFFF).
[-] Function RegKeyGetValueNames fixed for new implementation (the last character was eaten).
[-]
GRH
Some fixes for graphic (non-windowed) controls.
1. Asm version of WndProc turned off and pascal version used for case when USE_GRAPHCTLS symbol set on (this fixes disappearing graphic control on the second and following paints).
2. Function InvalidateNonWindowed fixed to prevent invalidating entire desktop when parent (windowed) control still has no window handle allocated.
[-] TControl.AutoSize(false) fixed: DummyObjProc is assigned to a pointer to a function (fAutoSize) as necessery, not nil.
[-]
ASM
TControl.GetItems fixed (asm version). This was affecting getting text correctly from RichEdit using Items[0] when it is containing only 1 character.
 
News from 24-Mar-2007 (KOL & MCK v2.55a, 2.55b)
[-]
MCK
TKOLAction: generating Name assignment order fixed for case of USE_NAMES.
 
News from 21-Mar-2007 (KOL & MCK v2.55)
[*] Some changes for NEW_ALIGN (also, NewTabEmpty, TC_InsertControl, TC_Remove), by Vladimir Galkov. Very recomment to check it and use. May be soon it will be default (vs OLD_ALIGN).
[*] A variable FileOpSeparator added with default value #13, it is used now instead of constant ';' in functions DoFileOp, DeleteFile2Recycle, DeleteFiles, GetFileListStr. This fixes a problem with files containing ';' in their names, but your code shoud be changed. Previous behavior still available with conditional symbol OLD_COMPAT.
[-]
ASM
Assigning a value true to the field SizeGrip in the NewForm function (asm-version) fixed.
 
News from 25-Feb-2007 (KOL & MCK v2.54)
[-]
ASM
TBitmap.Convert2Mask asm_version fixed for case of 256 colors (pf8bit) format.
[-]
MCK
Duplicated assignments of property Name (for case of USE_NAMES) removed for some objects (TKOLObject descendants). Assignment of Name for TKOLDataModule fixed (it's name stored in the object itself rather then in Applet still it is destroying after destroying the Applet and final clearing the Name was leading to a crash on exit the application).
 
News from 19-Feb-2007 (KOL & MCK v2.53)
[-]
ASM
Important fix for case when USE_NAMES applied in asm version (TObj.Destroy, 3rd parameter was forgotten). Thanks to Alex Sh a.k.a. Psychedelic.
[-]
MCK
Small fix for TKOLLabelEffect design-time mirror: property HasBorder published, property Windowed does not allow setting it to false. Thanks to dominco-m.
 
News from 18-Feb-2007 (KOL & MCK v2.52a)
[-]
ASM
This is a fix of my mistake with versions mix. It is concerning only to NEW_ALIGN version of code in the asm part of the KOL. Mr. Vladimir Galkov, author of the NEW_ALIGN, graciously supplied me with the diff file from 2.52 to a desired state of the KOL_ASM.inc file (in UPD format), so my job was very nominal this time.

If you use NEW_ALIGN please report if this working correctly in all cases. If there were no bugs found, it will become a new standard (still it seems less of code and faster).

[-]
F_P
Small fix for window creation procedure for Free Pascal applied. Earlier fixes by Yuri Sidorov to adopt KOL for Free Pascal 2.1.x seems stopped normal working with stable version 2.0.x of Free Pascal due a correction in TControl.CreateWindow. For a time, to provide working with both these version of FPC, it is suggested to add a symbol FPC21 if Free Pascal 2.1.x used, and do not add it for case of FPC 2.0.x or earlier.
 
News from 16-Feb-2007 (KOL & MCK v2.52)
[*]
KOL
MCK
Working with TObj.Name property changed. Now it can be set only using method TObj.SetName( OwnerObj, 'NewName' ). OwnerObj maintains a list of named objects and also allows to find an object by name using method TObj.FindObj. So, global function FindObj and global list of named objects are removed. Working with Name property provided still only for case when USE_NAMES symbol is defined. Additionally, with a symbol UNIQUE_NAMES name is checked for a uniqueness while setting it (among other objects of the same OwnerObj).

MCK code generation also changed (Form used to own a list of named objects on the form, Applet or main form used to mainyain a list of named forms) and improved a bit: generating of calling SetName moved to (design-time) methods like SetupName which also called after SetupFirst providing setting Name correctly also for custom objects with SetupFirst overriden where inherited SetupFirst is not called. If some custom objects or controls called SetupFirst in their MCK part earlier, this code must be corrected to call SetupName (or just to remove generating of assignment to Name property).

P-code generation also provided (for Collapse).

By a suggestion and on base of a code by Alex Sh a.k.a. Psychedelic.

[*]
UNI
Some changes (improvements) for UNICODE_CTRLS, by MTsvDN: TOnTVEndEdit, WndProcTreeView (String => KOL_String), RegKeyGetSubKeys, RegKeyGetValueNames (PChar => KOLPChar).
[-] FileSize function fixed for Delphi2, 3 (syntax error in an optional part of code: semicolumn was missed out).
[*] TControl.TC_Insert fixed by Galkov to provide correct aligning controls on it both with NEW_ALIGN and OLD_ALIGN symbols. NEW_ALIGN still optional and OLD_ALIGN is set by default, but you can test NEW_ALIGN. If there were no more bug reports, NEW_ALIGN will be set as default align code.
[*]
F_P
IntPower (version for Free Pascal, no assembler) fixed by Galkov.
 
News from 20-Jan-2007 (KOL & MCK v2.51)
[-] Function FileSize fixed for case of files with size > 4Gbytes.
[*] New versions for RegKeyGetSubkeys and RegKeyGetValueNames provided by Alex Shyshko (Psychedelic).
[*] LoadLibrary( 'kernel32.dll' ) replaced with GetModuleHandle( 'kernel32.dll' ) by Thaddy de Koning.
[-] TControl.Destroy changed a bit to prevent handling messages while destroying the control. This fixes Progress Bar destroying, though may be not all the cosequences are tested well.
[-] TWStrList.SetItems fixed by mixail_shar.
[*] A set of changes to make KOL more compatible with FPC, by Yuri Sidorov.
 
News from 1-Jan-2007 (KOL & MCK v2.50)
[*] New version of Align implementation provided by Galkov Vladimir. To use it, add a conditional NEW_ALIGN to the project options.
Happy New Year!
 
Previous news (versions 2.41-2.49)
 
Previous news pages
 

Copyright (C) 1999-2007 by Vladimir Kladov