Site news

As You can see, KOL site moved again. Too many complains were about downloading archives from Angelfire server. Let us see now, how russian WebService is for.

And another change is how news (this page) are displayed. I used scripts which assemble news from small news articles to minimize my further uploads. If You can read this, this works fine.

See another additional package TestKOLRas by Alexander Shakhaylo. He provide us with a good sample of RAS dial-up program, made with KOL. Thanks!

KOL & MCK v0.85 (8-Jul-2001)

[+] Double2Str function improved a bit. Now Double2Str can correctly convert float numbers from 1e-309 to 1e+308, and numbers from 1e-30 to 1e+30 are always represented in fixed format XXXXXXXX.YYYYYY. About 16 digits of the mantissa are exact, and if possible, trailing zeroes are truncated.

[-] KOLMATH.PAS fixed (Int64, recently introduced in KOL, was conflicted with Int64 of Delphi5).

[+] A unit CplxMath added (see it together with KOLMATH). It provides functions to work with complex numbers. Following functions are supported (types are omitted here for arguments of type Complex):

CfromReIm( Re, Im: Double): Complex { Re + i * Im }
Cadd( X, Y ): Complex
Csub( X, Y ): Complex
Cneg( X ): Complex
Cmul( X, Y ): Complex
CmulD( X; D: Double ): Complex
Cmuli( X ): Complex { returns i * X }
Cdiv( X, Y ): Complex
Cmod( X ): Double { returns |X| }
Carg( X ): Double { returns Arg(X) }
CfromModArg( R, A: Double ): Complex { exp(R) * [cos(A) + i*sin(A)] }
Cpow( X; Pow: Double ): Complex
Csqrt( X ): Complex
Cexp( X ): Complex
Cln( X ): Complex
Ccos( X ): Complex
Csin( X ): Complex
C2Str( X ): String

[?] Dmitri U. Kozlov reported, that TKOLEdit, dropped on TKOLGroupbox, is not visible at run-time at all. I tested, this is true, but I have no idea, why this occure. My solution for this strange behavior for now is to place a panel first on group box, and than an edit control on it.

[!] I have to present all free pascal admirers an apologize. Yes, it allows to create small executables (abut 12,5K). I just did not try to compile with FP from command line. Sorry. But all othet things still are there (no interface classes + no property for objects + no variables scope in built-in asm). So, adaptation of KOL to FP is not planned yet.

[+] TKOLService mirror component added. Look it at kol_service archive, together with SERVICE.PAS. Some changes are made in MCK to allow this new TKOLDataModule descendant object.

Current version of KOL/MCK is published not as patch, but in two archives and, because anyway server is changed, and I should to upload entire archives now. And, as well, there were no too many bug-reports for this week, and this version (0.85) of KOL/MCK can be declared stable.

KOL & MCK v0.86 (10-Jul-2001)

[+] TKOLThread mirror component added for TThread object of KOL.

[-] TKOLBitBtn mirror fixed for bitmap glyph (resource was named incorrectly). Thanks to Dmitri U. Kozlov, who turned my attention onto this bug.

[+] Label effect control fixed and mirror TKOLLabelEffect added to MCK.

[-] When font attributes are changed in Object Inspector, ParentFont become False automatically now for a control.

KOL & MCK v0.87 (16-Jul-2001)

[-] The lack of KOLDEF.INC file was found in MCK.ZIP archive. This is corrected (10-Jul-2001) by re-uploading (Do not wonder with the fact, the version 0.85 is packed later then update pack to version 0.86). If You have version of KOLDEF.INC dated 7-May-2001 (XX:42:58), do not care about re-downloading MCK.ZIP.

[*] From now, KOLDEF.INC will be delivered as a part of KOL.ZIP, because it is used also in KOL.PAS itself.

[*] For a single-line edit control, Item2Pos and Pos2Item do nothing, returning the argument of a function.

[+] Two new properties TopItemIdx (read/write when possible) and PageSize (only read) added for TControl. These properties are applicable to single-line or multi-line edit control, rich edit, list box, combo box, list view, tree view.

[*] Caption property removed from TKOLProgressBar mirror (it is not applicable for progress bar). Check your existing projects to clear this property for all TKOLProgressBar instances before installing the update. Otherwise, Delphi will display some annoying messages when form is opened in designer.

[-] OnTVSelChanging event (asm version, Windows 9x only) fixed. Thanks to Sergey Shisminzev for a bug report.

[*] Now it is sufficiently to define conditional symbol PAS_VERSION in projects options to build project with ASM_VERSION option turned off - without changing KOL.PAS, ERR.PAS and so on.

[*] In TControl, all private fields are moved to protected section.
    The most of initialization of a control moved from a global function _NewWindowed to overriden method Init.
    WndProcControl method declaration moved to interface section of KOL.PAS.
    Constructor CreateParented moved to public section.
    Method CreateWindow made virtual.
    These changes allow deriving new controls on base of TControl even without turning on USE_CONSTRUCTORS conditional definition.

[+] The most important: ActiveKOL package added, which allows to use ActiveX controls in KOL projects. Executable size is starting from about 43,5K (with system dcu replacement). Small utility TLB2KOL.EXE converts type library units, obtained as a result of importing ActiveX component, to KOL-compatible type library units. KOL version of TLB-unit does not refer to standard VCL olectrls.pas, classes.pas and so on, but to ActiveKOL unit. All controls, derived originally from TOleControl VCL's class, are converted to objects, derived from KOL's TOleCtl object, which is a descendant of KOL's TControl. (New version 3.0.87 of KOL_ERR package also should be downloaded).


News from 24-Jul-2001

Site news

As You can see, almost nothing changed, excluding site design. Thanks to Denis who suggest an idea how to organize the content better. I hope, it is more readable now.


News from 4-Aug-2001

Site news (v0.88):

[+] A lot of new deliveries from Alexandr Shakhaylo (kolras, kolsocket updated, koldde, kolntpriviledges, kolmapmem, kolwidgets - new).
[-] First page with downloads fixed for Netscape (at least, it is tested under NC4.7). Also, it should work fine with IE and Opera.

MCK and KOL news (v0.88):

[-] _NewWindowed function asm version fixed (should be changed with moving some initialization to Init virtual method, but forgot to do this. As a result, 3D-view of control was lost).
[-] MCK: Generating of TVOnDelete event assignment (for TKOLTreeView mirror component) fixed.
       KOL: OnTVDelete event call (asm-version) fixed.
[-] OnLVData event and lvsOwnerData style are fixed. Virtual list view is working now well, and there are no buffer limit for item/subitem text returned by the application (Caption of the listview control is used internally to pass item text to the window).
[-] LVItemOverlay[ ] property fixed (was incorrect when both LVItemOverlay and LVItemStateImg[ ] set).
[*] Also, callback masks LVIS_OVERLAYMASK and LVIS_STATEIMAGEMASK are set for virtual list view automatically, when OnLVData event is assigned. This allows to provide overlay and state image by the application for virtual listview control items by request.

[-] Call of event OnMouseDblClk fixed for listview control (was called twice).
[-] Call of event OnMouseUp fixed for treeview control (was not called).
[*] MCK: Event OnMouseDblClk removed for TKOLProgressBar mirror component (never called).

[*] KOL: Small improvement: than a control is becoming Visible, it is always realigned (if appropriate), not only its parent. As a result, all children of the control becoming Visible, are shown correctly aligned.
[*] KOL: Another improvement: between BeginUpdate and EndUpdate methods in response to WM_PAINT messages, entire control is validated. This prevents hanging up the application in case, when other controls should be updated during the process.

[+] Property TVRightClickSelect added for tree view control.
[+] Event OnLVStateChange added for list view control (works for range select/unselect event in virtual list view too).

[*] MCK: A virtual method added TKOLObj.NotAutoFree to allow define mirrors for objects, which do not require auto-deletion.
[-] TKOLMenu and TKOLPopupMenu fixed for use in KOL project (NotAutoFree returns now True for TKOLMenu, so in code generated Add2AutoFree is not called, which was leading to access violation while freeing PMenu object on close application).
[*] MCK: Another virtual method TKOLForm.AfterGeneratePas added to allow some changes in generated unit in TKOLForm descendant classes.

[*] DeleteFile2Recycle improved to allow fast delete a list of files for a single call.

[-] MCK: Vertical aligning of toolbars is availbale now in visual mode: if the toolbar is aligned left, right or client, appropriate aligning is used in toolbar generation code as common control native alignment.

[+] Event OnMove added for all controls including form.

[+] It is now possible to use additional modal forms (such as About dialog) in MCK projects without TKOLApplet using. Just create form dynamically (NewForm2(Form2,Applet)) and call its form's ShowModal method (Form2.Form.ShowModal). When ModalResult become not 0, or modal form is closed by other way, control is returned to the next operator. Call here Free method of the modal form (Form2.Form.Free). If You plan to hide only modal form after processing it, TKOLApplet is therefore should be used.

[-] In MCK, problem of assigning FALSE value to closeIcon property solved. At least, disabling of close box on form's caption is provided now.


News from 11-Aug-2001

MCK and KOL news (v0.89):

[+] Delphi6 support provided for both KOL and MCK - by Vyacheslav A. Gavrik. Thanks a lot!
[+] Method Remove was added to TList (already in v0.88, but forgot to anonce it).
[+] Method Clear is now available for TreeView control as well.
[-] Several OnTV... events fixed in asm-version of code (OnTVExpanded, etc.)
[+] Method WriteStr added to TStream.

xHelpGen chages (v4.0.89):

[+]Normal working with units, not having 'uses' clause or having "variant" uses clause, defined via complator conditional directives.
[*] Even if a class has no fields, methods or properties commented, it is anyway is added to help (if it is commented itself).
[-] Keyword 'Class' was not recognized in class definition (problems with case-unsensitivity). Fixed.
[-] Constant is appeared in help with keyword 'const', not 'var'. Also, correct keyword provided for 'theadvar'.
[*] Top and left frames in framed pages are generated sizeable.
[-] UseJavascript=1 usage fixed.
[-] Launching help under Windows 95 fixed.

Thanks for reports to A.Lulin and radio. Notes for all KOL users: these changes should not affect KOL help. Excluding the fact, may be, that new version is compiled with less bugged code of KOL itself.


News from 13-Aug-2001

MCK and KOL news (v0.90):

[-] OnTVEndEdit event fixed (asm-version, and Pascal too, for case when item label was not changed).
[-] OnTVExpanding, OnTVExpanded events fixed (always Expanded parameter was passed True, and on collapse too). Asm-versions are re-written.
[-] Dynamic changing of LVStyle and LVOptions fixed for listview control.
[-] Applet.ProcessMessage asm-version fixed. Thanks to V. Gavrik for a bug-report.

[+] Method DragItem added, which allows to initiate inside-application drag-and-drop operation, control mouse cursor shape during the dragging, etc. Existing property Dragging can be used to determine if the operation is in process.
[+] Property Editing is added. For TreeView control, its True state indicates, that tree view control item's label is editing now.
[+] Method SetAutoPopupMenu added for TControl, and design-time property popupMenu is added for all TKOLControl descendant components in MCK. 



News from 17-Aug-2001

KOL news (v0.92):

[-] TBitmap.Draw improved to allow drawing even in case when GDI failed to draw DIB bitmap via StretchDIBits. In such case, Handle is allocating for a bitmap, and it is painted by usual BitBlt function.
[+] Method TBitmap.DIBDrawRect added, which allows to copy given rectangle of DIB bitmap to a device context. Also, properties DIBBits and DIBHeader are declared in public section, which provides direct access to DIB bitmap.
[+] Jpeg support added to KOL - see it in KOLJpeg package. Adding jpeg decompressing increases executable about 54,5 Kbytes.



News from 25-Aug-2001

KOL and MCK news (v0.93):

[-] Some fixes for Delphi6, by Vyacheslav Gavrik.
[*] _TObj object type is introduced as an ancestor for TObj. This adds only 16 bytes to executable size, but provides some very useful features for KOL. By Vyacheslav Gavrik.
[+] Method InstanceSize added for TObj. By Vyacheslav Gavrik.
[-] MCK project starting instruction fixed - by Ivan Zernovac.
[+] MCK AdditionalUnits method added for TKOLControl and TKOLObj, usage of AdditionalUnits and AfterGeneratePas in TKOLForm fixed. With suggestions from Alexander Shakhaylo
[+] TMenu: AddItem and InsertItem to add menu items to main menu and popup menu dynamically added - by Sergey Shisminzev.

[-] MCK: fix for TKOLLabelEffect: by default, labels have Ctl3D = FALSE. So, if Ctl3D is True at design time, code is generated now to set it to TRUE.
[*] MCK: useless propertiy Caption is removed from Object Inspector for TKOLSplitter mirror component.
[*] KOL: Now properties TControl.SplitMinSize1 and SplitMinSize2 are renamed to MinSizePrev and MinSizeNext, like in MCK mirror component TKOLSplitter. Old properties are still available for compatibility.
[+] MCK: Event OnSplit is available now for TKOLSplitter at design time.
[*] Property Color2 used now in LabelEffect as a shadow color, if it is not set to clNone (default). Otherwise (when Color2=clNone) shadow color is calculated as a mix between TextColor and clBlack (as earlier).
[*] When Color1 or Color2 properties, used in splitter and gradient panel, are changed, the control is invalidated automatically.
[-] Asm-version of gradient panel fill procedure fixed (was filled incorrectly from Color1 to clBlack, instead filling from Color1 to Color2).
[+] Properties GradientLayout and GradientStyle are now available for TKOLGradientPanel at design-time, and at run-time too, not only by passing those to a constructing function NewGradientPanelEx.
[+] MCK: For TKOLButton, property LikeSpeedButton is available at design-time. For TKOLBitBtn, properties Flat, LikeSpeedButton and RepeatInterval are available at design-time.
[+] For TKOLGroupBox and TKOLEditBox, property TextAlign is now available both at design time and at run time.
[+] Property StatusCtl added for TControl in KOL, which allows to obtain status bar control and to create controls on it as children.
[-] When for TKOLEdit or TKOLMemo property Transparent is True at design time, an assignment of Ed_Transparent to True is generated (Transparent property is not used, because it has no effect for edit controls).
[-] Typo fixed: RE_FmpUnderlineStyle property renamed to RE_FmtUnderlineStyle (TControl).
[-] RE_FmtXXXValid properties fixed and actually return now TRUE, if the specified formatting is valid for entire selection, as it is documented now (but not for an area, defined by RE_CharFmtArea, as it was incorrectly documented earlier. This last property determines only which area is affected when formatting attributes are chenged).
[+] Correspondent properties RE_FmtXXXValid are added for some character formatting properties (such as RE_FmtBold => RE_FmtBoldValid, etc.)
[-] When RE_FmtStandard applyed, character formatting is changed always for a selection, not for an area, defined by RE_CharFmtArea property.
[+] Properties RE_FmtLink and RE_FmtLinkValid are added (thanks to Sergey Shisminzev for a suggestion). 



News from 1-Sep-2001

KOL and MCK news (v0.94):

[+] THE MOST IMPORTANT: MCK.HLP v1.0.94 released and available to download!

[+] Property TControl.DroppedDown added for combo box control (read and write).
[*] Useless property Caption removed from a list of properties, available at design time for TKOLPaintBox and TKOLImageShow mirror components. Useless properties Border, MarginXXX also made unavailable at design time for TKOLImageShow mirror component.
[+] MCK: For TKOLListView code is generated to apply Font.Color assigned at design-time, if not default. Also, properties LVTextBkColor and LVBkColor are available now at design time for TKOLListView component.
[*] MCK: CurIndex property removed from Object Inspector and class definition for TKOLListView.
[-] MCK: events OnEndEditLVItem and OnMeasureItem made available at design time for TKOLListView (were forgotten).
[-] Form now has CS_DBLCLKS style, so it can receive WM_xBUTTONDBLCLK messages (i.e. OnMouseDblClk event will work). Since this, code added to MCK to initialize OnMouseDblClk event for TKOLForm, if it is assigned. Thanks to A. Shuvalov for a bug report.

[+] Method ClassName became a property ClassName. It is now possible to change it before creating window, to provide desired window class name for a window. By suggestion of A. Shuvalov.
[+] KOL.TControl: Synonims are introduced for properties TVDropHilighted and TVItemDropHighlighted: properties TVDropHilited and TVItemDropHilited, correspondently.
[+] MCK: TVIndent property is available at design time now for TKOLTreeView mirror component.
[-] MCK: Property Caption removed from TKOLToolbar control (not needed).
[+] MCK: Events OnChar, OnKeyDown, OnKeyUp made available at design time for TKOLTabControl.
[+] Some improvements for toolbar control:
  - TBButtonCount is the same as Count property now for toolbar;
  - it is possible to pass button ID or button index without care of it, when working with TBButtonXXX[ ] properties (when index is passed, button ID is retrieved automatically and used now).
[-] Small fix for TObj.RefDec by Vyacheslav A. Gavrik.
[+] MCK: Event OnUncheckRadioItem became available at design time for TKOLMainMenu and TKOLPopupMenu mirror components.
[+] SetStyle method of TControl improved: it is not necessary now to call API function SetWindowPos to apply style changes - this is done automatically.



News from 2-Sep-2001

KOL and MCK news (v0.95):

[-] Setting Style property for TControl fixed (SWP_NOSIZE flag added to SetWindowPos call, and Invalidate too). Also, ExStyle and Style changing improved: not only SetWindowPos is called, but Invalidate too. This guarantees that changes are applied immediately.
[-] Tracking of mouse leaving from control fixed and improved. Now application, made using OnMouseLeave event (or, using Flat style of BitBtn control), can be safely launched under Win95 without comctl32.dll updated. Special notes added how to fix Flat style usage for BitBtn under Win95 (to force it working correctly).
[-] For TControl.TBButtonWidth[ ] assignment, it is now not necessary to use button ID only, and button index can be used too as for all other TBButtonXXX[ ] properties.



News from 3-Sep-2001

KOL and MCK news (v0.96):

[-] Destroying of TMenu object fixed. This bug was found by Alexander Shakhaylo, thanks.
[+] Event OnPopup added to KOL's TMenu and MCK's TKOLPopupMenu.
[-] MCK: Form renaming at design time fixed.
[+] New property AutoSize added to KOL's TControl (for buttons, labels, etc.), and to correspondent MCK's mirror components. Existing design-tmie property autoSize of TKOLBitBtn renamed to autoAdjustSize. New auto-size property works not only at design time, but at run time too, taking into consideration changing of both Caption (or Text) and Font properties. For edit box and combo box, Width of the control is not auto-sized, only Height. For label effect control, Font.FontOrientation is taking into consederation both at design and at run time.
[-] Autosizing of bitbtn control fixed and improved (for case of glyphTop and glyphBottom layout).
[*] Default TextColor for label effect changed to clWindowText. And, by default Ctl3D is now False for TKOLLabelEffect control in MCK projects.
[+] New method TControl.SupportMnemonics added, which provides for form handling of mnemonics, i.e. key combinations with '&' character in buttons, toolbars, checkboxes, radioboxes, etc.  



News from 4-Sep-2001

KOL and MCK news (v0.97):

[-] Edit box on group box as child visibility fixed. Changes are in NewEditBox (asm-version) and NewGroupBox (both asm- and pas-versions).
[+] Method SupportMnemonics improved and works now silently and presses buttons visually as it were pressed by mouse.
[+] Property SizeGrip added to TControl and correspondent design-time property statusSizeGrip to TKOLForm mirror component, which allows to determine if to show size grip box in right bottom corner of the status bar.
[*] Some small changes in asm code to make it better.



News from 5-Sep-2001

KOL and MCK news (v0.98):

[*]When AutoSize changed, control is realigned (and its parent too). When bounds of control changed, it is invalidated now.
[-]Assigning value to Caption property of Label Effect control at run time fixed. Thanks to Alexander Shakhaylo for a bug report.
[-]Asm-version fixed for D6.
[+] Methods LVIndexOf and LVSearchFor added to TControl (list view specific). By Alexander Shakhaylo.



News from 6-Sep-2001

KOL site news:

See it on downloads page.



News from 20-Sep-2001

KOL and MCK news (v0.99):

[-]Small fix for system.dcu replacement for Delphi6.
[-]Combobox fixed for OnKey..., OnChar events.
[-]Small changes in several procedures to fix auto-sizing of label and label effect controls (some of those not yet compiled to asm-version).



News from 2-Oct-2001

KOL and MCK news (v1.00):

[-]Small fix for creating TC_Insert at run time (insert tab control page at run time).
[+]Methods IndexOf and SearchFor added to TControl, which allow to search items easy for listbox, combobox, etc.
[-] Autosizing for label and label effect (etc.) fixed and improved.

[+] Object type TBits added, similar to so-called in VCL, but with additional capabilities and more fast.
[+] Method Find added for TStrList. It allows to search fast given string in sorted string list.
[+] TDirList improved and allows now to collect '.' and '..' special directory names in case, when those listed in filter list (for NewDirListEx, and for method ScanDirectoryEx). And, it is possible now to collect subdirectories together with filenames when attributes FILE_ATTRIBUTE_NORMAL and FILE_ATTRIBUTE_DIRECTORY are present both. 

Site news (from 1-Sep to 1-Oct):

[+] Several new packages are provided:
        ZLib adaptation for KOL    - by Alexey Shuvalov
        KOLListEdit (list box with capability to edit it as a table)    - by Alexander Shakhaylo
        KOLFTP  (ftp client, with demo application KOLFTPClient)  - by Alexandr Shakhaylo
        HeapOnFile package     - by Vladimir Kladov
[+] A link added to independent KOL-voted Web Page by Gennady Lebedev and Boris Morenko: "KOL - compact programs with Delphi" (unfortunately, it is for Russian readers only). Contains tutorials, questions and answers, other discussions, forum, etc.
[+] In Articles section, another article added: "KOL - code economic object library" - by Vladimir Kladov. (Language: Russian).
[*] Site address changed. Again, but now there are no banners, direct download s are available, new counters added. Thanks to Alexander Shakhaylo (mirror #1) and Gregory Sitnin (mirror #2) for Web space and sponsorship.


News from 7-Oct-2001

KOL and MCK news (v1.01):

[-] TIcon.LoadFromStream fixed. Thanks to Maxim Mashkov for a bug-report.
[-] Code for USE_CONSTRUCTORS macro fixed a bit (at least, there are no compiler errors, and application is executable). Thanks to Andrzej Godawski for a bug report.
[*] Small changes in TTree non-visual object implementation (now Items[ ] are enumerated in the appropriate order, not chaotic as earlier).

Other packages news:

[+] KOLFormSave archive added (object to store form size/position, with MCK mirror)    - by Alexander Shakhaylo
[*] AdvancedFileCopy application new version provided    - by Dmitri U. Kozlov
[*] KOLListEdit updated    - by Alexander Shakhaylo


News from 10-Oct-2001

KOL and MCK news (v1.02):

[-] Checking and setting visibility of a control, when parent form is not visible, fixed. By advice of Grumbler.
[-] Tabulate and TabulateEx fixed: double quota character ( " ) entering was prevented in edit box control. Thanks to Grumbler for a bug report.
[-] MCK: Unit parsing fixed: second 'uses' clause is no more affected by MCK code generator. Thanks to Grumbler for a report.
[-] TCanvas.TextOut asm-version fixed. Thanks to Yury Sidorov.

Other packages news:

[*] KOL NT Privileges package fixed (9-Oct-2001)    - by Alexander Shakhaylo.

Site news:

[*] News now are shown portionally - for 5 news issuies at a time. This should allow to load news page faster.


News from 17-Oct-2001

KOL and MCK news (v1.03):

[-] MCK: TKOLTrayIcon code generation fixed when Icon property is not assigned at design time. Thanks to Andrzej Godawski for bug report.
[+] KOL: TControl.LVColText[ ] property added, for list view control.
[*] TControl.OnMeasureItem implementation changed a bit to prevent incorrect measure in case when the event is reset at run time, or control vanished.

Other packages news:

[*] KOLEDB package updated. Methods and properties are added to allow updating rowsets   - by Vladimir Kladov.


News from 19-Oct-2001

KOL and MCK news (v1.04):

[-] TControl.StayOnTop property fixed for asm-version of code. Thanks to  Dmitri U. Kozlov for a bug report.
[-] StrLen code fixed for case of nil parameter. Thanks to Andrzej Kubaszek for a bug report.

[-] File2Str asm version of code fixed for case when starting position > 0. Thanks to Sebastian Franz for a bug report.
[-] StrSatisfy changed, and its asm version fixed. Thanks to for a bug report :-)
[+] Property TControl.LVColAlign[ ] added for list view.

Other packages news:

[*] KOLEDB package updated and improved again.  DField property to work with ftDate field type, XFieldByName properties, ColType, ColTypeByName, ColByName, FieldAsStr, FieldAsStrByName, IsNull, IsNullByName properties are added. CurIndex property direct setting fixed.   - by Vladimir Kladov. Great thanks for assistance and cooperation to Alexander Shakhaylo.

KOL Site news:

[+]  Detailed answer to a question "How to show form modal correctly" added to FAQ.


News from 21-Oct-2001

KOL and MCK news (v1.05):

[-] KOL: TControl.ApplyFont2Wnd method fixed for asm-version of code (since this, changing Font.Color property fixed for TControl). Thanks to  Alexander Shakhaylo for a bug report.
[+] MCK: TKOLControl.Tag property support added, by Evgeny Michaylichenko.
[-] KOL: Double2Str fixed (worked incorrectly for integer numbers with several finishing zeroes) . Thanks to  Alexander Shakhaylo for a bug report.

Other packages news:

[*] KOLEDB package new update.  RField property now works also with DBTYPE_CY (currency) data type as well. Property LField added to work with 8-byte integer fields (large integer). More other data formats are supported. RawType and RawTypeByName properties added (return original column type indicator value)   - by Vladimir Kladov.


News from 6-Nov-2001

KOL and MCK news (v1.06):

[-] KOL: TCanvas.TextRect method fixed for asm-version of code (ETO_CLIPPED style was not set correctly, so text was drawn out of given rectangle bounds).
[-] MCK: TKOLLabelEffect.wordWrap property change has no more effect. It is reserved for future use though and is still visible in Object Inspector. (Thanks to Andrzej Kubaszek for a report).
[-] KOL&MCK: TOpenSaveDialog.Filename property can now be assigned before calling a dialog to show default filename for a user. TOpenSaveDialog.DefExtension property usage fixed in MCK, and in asm-version of KOL. Thanks to Andrzej Kubaszek for reports.
[-] KOL&MCK: TControl.SupportMnemonics method improved (fixed) and now correctly works with controls, which are not direct children of the form itself, but of any other parent control. Thanks to Sebastian Franz for a bug report.   

Other packages news:

[+] KOL object TAboutDialog with mirror component TKOLAboutDialog added - by Dmitry Zharov.
[-] ActiveKOL package fixed. Now events from ActiveX objects must work - by Alexey Izyumov. Thanks a lot!

Site news:

[+] An answer added to FAQ section: "How to drag control with mouse button".


News from 7-Nov-2001

KOL and MCK news (v1.07):

[-] KOL: TControl.SupportMnemonics method improved (fixed) more and now correctly works even if ALT key is pressed shorted then letter key, correspondent to a mnemonic. Thanks to Andrzej Kubaszek for a bug report.
[-] KOL: TKOLControl.ToBeVisible method fixed and takes into consideration parent visibility only for controls, not for forms. In result, methods Tabulate and TabulateEx work correctly for case, when (separate) Applet made invisible. Thanks to Sebastian Franz for a bug report.
[-] MCK: TKOLControl.TabStop property is now assigned exactly as it is set at design time.
[-] MCK: working with toolbar picture and other bitmaps, assigned at design time, fixed (when screen resolution was set to greater then 64K colors, bitmap was stored in too high color resolution, and resource compiler could not maintain it correctly).
[-] KOL & MCK: setting rich edit font property fixed at run time and at design time. In MCK, code is generated for RE_Font property (not for Font as for other controls), and RE_CharFmtArea is set for entire text temporary. In KOL, changing font provided well. Also, RE_Transparent property fixed. Thanks to Douglas Tietjen for bug reports.
[+] MCK: property HasBorder made available at design time for some of controls (groupbox, checkbox, radiobox, editbox, memo, rich edit, list box, image show, list view, tree view, toolbar).
[-] KOL: NewImageShow constructor fixed (default height was calculated incorrectly).
[+] MCK: TKOLImageShow.autoSize design-time property added to simplify resizing ImageShow control correspondently to image list image size at design time.
[*] KOL: TControl.Color property now made more universal and works by the same way for any type of control (via CommandActions). In result, setting of Color for rich edit, tree view, list view or progress bar changes background color well.



News from 27-Nov-2001

KOL and MCK news (v1.08):

[-] KOL: TStrList.SaveToFile method made as function and return TRUE when success. By suggestion of Andrzej Kubaszek.
[-] KOL&MCK: TControl.BitBtnDrawMenmonic property added. When set to TRUE, '&' characters are not drawn in bitbtn caption, and follow characters are underlined.
[-] Tabulating (methods Tabulate, TabulateEx) to hidden control fixed (pages on tabcontrol), and for case when Applet (represented as separate object) made hidded.
[+] NewThreadAutoFree constructor added. Correspondent ptoperty AutoFree is added to TKOLThread mirror component.
[-] TControl.AutoSize property fixed for case when Text property is not assigned (or assigned to empty string).
[*] Small change in code generated for initialization TKOLRichEdit control: RE_CharFmtArea property no more used. This can economy up to 2Kbytes of executable size. By suggestion of Andrzej Godawski.
[-] LikeSpeedButton property fixed (at least it is tested for BitBtn control when pressed using mouse or mnemonics and previously focused control does not loose focus when such BitBtn is pressed).

[+] TControl.OnScroll event added (and for appropriate MCK mirror controls too). New type of control available: new constructing functions NewScrollBox and NewScrollBoxEx added which allows to add to an application control with arbitrary scrollable content. NewScrollBoxEx can be used to place child controls which size, position and quantity can be even calculated at run time dynamically. Mirror component TKOLScrollBox also provided.

Other packages:

[+] KOLEDb fixed for DBTYPE_DBTIMESTAMP field type. Thanks to Pavel Chumakov for bug report. Also, properties added to access data fields directly: FieldAsHex, FieldByNameAsHex.

Other site news:

[-] FAQ: answer to a question "how to use modal form correctly" fixed. Great thanks to Serge Stadnik.



News from 12-Jan-2002

KOL and MCK news (v1.09):

[-] KOL: Compatibility with Delphi2 restored.
[-] KOL: TVEditing property (pas-version) fixed.
[-] MCK: TKOLListView and TKOLTreeView property TabStop added (was forgotten) and made TRUE by default. Otherwise consequences were not so great :(. Thanks to Alex Mokrov for a bug report. LVBkColor fixed (setting default value to clWindow color).
[+] KOL: TControl.TVSort( N ) method added - by Alex Mokrov.
[*] KOL: procedures TStrList.SaveToFile, AppendToFile, LoadFromFile declared as functions and return FALSE, if file was not open successfully. By suggestion of Andrzej Kubaszek. (These changes even did not affect asm version, it returned desired result before as well too).
[-] KOL: Int2Hex Pascal version fixed. Thanks to Andrzej Kubaszek.
[-] KOL: eoWantTabs option fixed for asm version of EditBox and RichEdit control. Therefore, it prevents only tabulating from a control, not inserting tab character. To simplify such task, method EditTabChar added for TControl, and correspondent property EditTabChar is available now for mirror components TKOLEditbox, TKOLMemo and TKOLRichEdit. Thanks to Otly for a bug report. 
[-] KOL: tboTextBottom toolbar style fixed (asm-version). Thanks to Igor Popoff for a bug report.

Packages news:

[+] KOLOGL12 - new package to work with OpenGL. By Vyacheslav A. Gavrik.
[+] KOLProgressBar - new color progress bar component with caption by Alexander Shackhaylo.

Happy New Year!


News from 20-Jan-2002

KOL and MCK news (v1.10):

[-] KOL: forcing radiobox state to become checked when focus returned to a form stopped. Thanks to Andrzej Kubaszek for a bug report.
[+] KOL: SupportAnsiMnemonics global procedure added, which allows to improve SupportMnemonics method for form(s): when called (once), given locale mnemonics also are supported.
MCK: correspondent property SupportAnsiMnemonics added for TKOLProject, which allows to add a code to call so-named global procedure to initialization routine. Thanks to muh, who made a report.
[-] KOL: OnTVBeginEdit event handling fixed (asm-version of code).
[-] KOL: TStrList.LoadFromFile asm version fixed (and returns now correct flag). Thanks to Sebastian Franz.



News from 27-Jan-2002

KOL and MCK news (v1.11):

[-] KOL: Canvas font and brush attributes changing fixed while drawing. Thanks to Alex Schuvalov for bug-report.
[-] KOL: Directives added to the beginning of KOL.PAS to prevent range and overflow checking in KOL code itself (otherwise, some code created can work incorrectly, when such options are turned on for the project). Thanks to Andrzej Kubaszek for bug-report.
[*] KOL: some changes made in order of TControl's fields declarations, which makes code more compact because of using more short assembler commands by Delphi compiler. Difference can be about several hundreds bytes and more. Thanks to Vyacheslav A. Gavrik for the idea.
[-] MCK: changes made in code generation to accomodate form size at run time and at design time for captionless form (when HasCaption or HasBorder is FALSE). Code provided by ECM.
[-] KOL: TControl.SetClientWidth asm-version fixed - by Riccardo Tesio. Thanks!
[-] KOL: asm-version functions EAX2PChar, EDX2PChar, ECX2PChar fixed. Thanks to Oleg Trubin for bug reports.
[-] KOL: toolbar control asm-version of method TBAddInsButtons fixed for case, when there are no images assigned (has effect first in MCK projects).


News from 28-Jan-2002

KOL and MCK news (v1.12):

[-] KOL: asm-version functions EAX2PChar, EDX2PChar, ECX2PChar fixed again. Hope, correctlynow :) Since previous update was lead to incorrect working with asm-version, urgent update published.
[*] KOL: some optimization in code. Asm versions provided again for several important procedures. Code for empty MCK project (just after create it) gives 13,5K size of exe-file again.


News from 31-Jan-2002

KOL and MCK news (KOL v1.13):

[-] KOL: asm-version of TControl.Set_Visible fixed to allow assign Visible := False correctly. Thanks to Andrzej Kubaszek for the report.


News from 3-Feb-2002

KOL and MCK news (KOL v1.14):

[*] KOL: OSNoValidate option support added for TOpenSaveDialog. By suggestion of Andrzej Kubaszek. (Recompile MirrorKOLPackage to apply this change to MCK too).
[*] KOL: TStrList.Get method asm-version fixed to return empty string when index passed is out of bounds (exactly as pas-version does and as it is said in documentation). By suggestion of Andrzej Kubaszek.
[*] KOL: all references to TControl.WindowedParent are removed, together with ambigous virtual method. (All controls in the KOL are windowed).

Site news:

[*] WEB design changed: frames are used again.

New packages:

[+] A set of components is provided by Michail Beschetnov: SPCDriveComboBox, SPCDirectoryListBox, SPCFileListBox, SPCFilterComboBox. Download it in Visual Components section.
[+] Font dialog component is provided by Dmitry Zharov: KOLMCKMHFontDialog. Get it in Visual Components section.
[+] Two programs made using KOL are provided by Vladimir Brezhnev: Qoolbars and Task Killer. Get it in Applications section.
[+] Another sample application is provided by Alexander Shakhaylo: KOLStrSwap. Get it in Applications section.


News from 4-Feb-2002

KOL and MCK news (v1.15):

[*] MCK: a correction made for Font property changes applying at design time when it is owned by non-visual object. By Dmitry Zharov.
[-] MCK: necessary changes made to allow setting new option OSNoValidate for TOpenSaveDialog object at design time. Thanks to Andrzej Kubaszek for a report.
[+] MCK: a feature added to TKOLProject: it is now possible to open project folder from the component's context menu.
[*] KOL: TControl.ShowModal method improved. There are no restrictions now for ShowModal nested calls (i.e. modal form can call another modal dialog when necessary, etc.)
[-] KOL: FileExists function (asm-version) fixed for case of Windows 9x (True was returned for case when empty strign was passed as a file name parameter). Thanks to Vladimir Brezhnev for the report.

Site news:

[*] New section Demos added.

Other packages:

[+] Sample application OpenPass added - by Dmitry Zharov. See it in Applications section.


News from 10-Feb-2002

KOL and MCK news (v1.16):

[-] KOL: TDirList asm-version fixed: mask made case insensitive, exactly as in pas-version. Thanks to Michail Beschetnov for a report.
[-] KOL & MCK: FontCharset initialization by default to DEFAULT_CHARSET fixed (by a mistake, ANSI_CHARSET was used, in result some problems were found with working applications in some locales). Thanks to Fabio Chelly for a bug report.
[+] KOL: TMenu.InsertItemEx method added (and TMenu.InsertItem method changed) to allow insertion of menu items by posiotion rather then by item ID. By suggestion of Vladimir Brezhnev.

Other packages news:

[+] KOL-OGL12: Demo-project provided. By Vyacheslav A. Gavrik.


News from 15-Feb-2002

KOL and MCK news (v1.17):

[-]KOL: ExecuteWait procedure fixed and works now correctly for case, when DefaultDirectory parameter is not defined (empty string passed).
[-]KOL: ComboBox drawing fixed for Windows XP, and Edit & Memo's are drawn correctly now when ParentColor is set to True. By Vyacheslav A. Gavrik.
[+]KOL: several functions are added by Edward Aretino: IncludeTrailingPathDelimiter, ExcludeTrailingPathDelimiter, ForceDirectories, CreateDir, ChangeFileExt. Thank you.
[-]KOL: TDirList.SatisfyFilter method asm-version fixed. So, calling now NewDirList with FileAttr parameter = 0 works now correctly (exactly as pas-version). Thanks to Edward Aretino for a bug report.
[*]KOL: TMenu.InsertItem method changed. Negative value of InsertBefore parameter means nothing now, as it was before v1.16. InsertItem method just re-calls method InsertItemEx, passing FALSE as ByPosition parameter. Also, a call to DrawMenuBar API function added, so dynamically added menu items are shown immediately.
[+]KOL: TMenu.ItemSubMenu[ ] property added. It allows to add or replace submenu items dynamically, on the fly. See also new demo project DemoDynamicMenus published in Demos section.
[-]Asm version of NewMenu function fixed (code suggested by Roman Vorobets, thanks a lot for investigation!). This change also needed to allow changing/adding sub-menus dynamically.
[+]KOL: TList.Assign method added.
[+]KOL: Another non-visual object TStrListEx added, which provides Objects[ ] property, containing 32-bit values, correspondent to string list items.
[-]KOL: gradient panel (asm-version) filling procedure fixed.

Other packages news:

[-] OGL Demo fixed - By Vyacheslav A. Gavrik. See it in Graphics section.
[+] New demo projects DemoDynamicMenus, Demo2Forms, DemoNoFlicks, DemoMyException, DemoTrayIcon DemoTrayOnly, DemoCabExtract added. See it in Demos section.
[+] New add-on added - Dual List Dialog. By Boguslaw Brandys. See it in Controls section.
[+] Another new visual control provided: DateTimePicker. By Boguslaw Brandys. See it in Controls section.

Other site news:

[+]Two new questions in FAQ section added.


News from 23-Feb-2002

KOL and MCK news (v1.18):

[-]KOL: WndProc virtual method call fixed for asm version (was not called for TControl descendant objects).
[-]KOL: ScrollBoxEx control size calculation fixed. Change is one pixel, but it is now working more correctly, e.g. for case when a child control is placed at position (0,0) with width = ClientWidth and Height = ClientHeight (scrollbars are not appearing in such case).
[-]KOL/MCK: TOpenSaveDialog fixed for case of stay-on-top forms (when Applet was used, dialog could be opened in underground). For KOL, property WndOwner added, which allows to define owner window, for MCK this property used to define, that owner form is the owner of the dialog. Also, WndOwner property added for TOpenDirDialog. In result of using this property in KOL these dialogs are called modal. For MCK projects, WndOwner property is assigned automatically.
[-]KOL: bitbtn control drawing improved. Properties TextShiftX and TextShiftY (default 0) are added by suggestion of Jean-Marie Delbary to indicate that button is in down state. MCK: correspondent properties are added to TKOLBitBtn mirror component, but with default value 1.

Other packages news:

[*]MHFontDialog updated. By Dmitry Zharov. See it in Controls section.
[+]ApiTooltips sample added. By Igor Popoff. See it in Controls section.



News from 27-Feb-2002

KOL and MCK news (v1.19):

[-]KOL: TControl.OnSplit call from asm version fixed. MCK: OnSplit event added to TKOLSplitter control. Thanks to Edward Aretino for a question.
[*]MCK: TKOLFont - code added to prevent font color change at design time for some controls (such as button).
[+]KOL: TList.DeleteRange method added. New object type TListEx added, which has additional Objects[ ] property and some additional methods to work with objects.
[-]KOL: previous correction of combobox for XP (made in v1.17) abandoned, because it led to incorrect applying Color and Font.Color properties to those child controls, which have different colors then its parent ones. Providing Color for combobox fixed by another way (though did not tested under XP). Colors for edit and memo controls with ParentColor=true also are fixed.
[*]KOL: WM_ENDSESSION message handling added to form's window procedure to provide correct call of all destructors and OnDestroy events, when windows session is finished. Thanks to Sergey Shishmintzev, who found this problem and reported it.

Other packages news:

[+]MHXP MCK component to provide XP manifest for MCK project - in Controls section. By Dmitry Zharov.


News from 2-Mar-2002

KOL and MCK news (v1.20):

[-]MCK: TKOLGroupbox - Font.Color can be changed at design time again.
[-]KOL: WStrReplace - declaration and implementation removed for Delphi2 (WideString type is not available in this old Delphi). Thanks to Sergey Shishmintzev for bug report.
[-]KOL: while handling WM_ENDSESSION, wParam checked to be = 1. (Otherwise the application was closed even if session ending was not confirmed). Thanks to Sergey Shishmintzev for a code.
[+]KOL: methods TList.Last, TListEx.Last, TListEx.LastObj, TStrList.Last, TStrListEx.LastObj, TStrListEx.InsertObject, TStrList.AddObject added.
[-]KOL: TStrListEx.ProvideObjCapacity fixed. By Yury Sidorov.
[-]KOL: Int2Ths asm-version fixed for case when parameter < 1000. By Howard Flank.

Other news:

[*]KOL: comments changed a bit. TBits object documented, reference to main groups of functions by category added (in html help, generated by xHelpGen, these groups are available in the topic, correspondent to kol.pas).


News from 8-Mar-2002

KOL and MCK news (v1.21):

[*]MCK: some changes in initial assignment to Color property for MCK controls. Now only controls with property DefaultColor = clBtnFace inherit this property value from its parents when first dropped onto form at design time. Other controls (like TKOLEdit, TKOLMemo, TKOLListView etc. have initial Color = clWindow). Also, it is not possible to change Color property for TKOLButton at design time (this control always has Color = clBtnFace at run time).
[-]KOL: FileFullPath function changed to really return full path to the file. Thanks to Edward Aretino for notes.
[-]MCK: call to ExecuteWait fixed in a procedure of resource preparation. Without this change, resources did not compiled, if a path to the project was containing names with spaces. Thanks to Gandalf for the correction.


News from 10-Mar-2002

This time updates only are available, entire archives and are not changed.

KOL and MCK news (v1.22):

[+]KOL: new functions DirectoryHasSubDirs, CheckDirectoryContent, FileIconSystemIdx, FileIconSysIdxOffline, FileShortPath added.
[-]KOL/MCK: ExecuteWait resource leak fixed. ProcID now is returned only in case when wait was failed, otherwise process handle is closed. Thread handle is closed in any case.
[-]KOL: functions ExecuteIORedirect, ExecuteConsoleAppIORedirect added.
[+]KOL: new property TVItemHasChildren[ ] (read/write Boolean) added. New method TVItemPath added (calculates a path as a concatenation of all nodes text starting from root to the given item, separating all node text strings with given character).
[+]KOL: new control type TDirTreeVew added (in a separate unit). It extends tree view control a bit, allowing to have a directory view on form just dropping such component on it. See it in section Controls.
[-]KOL: TDirList.SatisfyFilter asm-version fixed. By an error, files '.' and '..' also were satisfying to any filter.
[-]KOL: TControl.Visible fixed. In asm-version, window did not created hidden, even if Visible=FALSE was set. Great thanks to Yuri Sidorov for the investigation of the problem and code correction.
[-]KOL: TControl.Autosize property fixed. Worked incorrectly, if a control had not have Handle allocated when SetAutosize was called and some conditions were satisfired (e.g., changed Font for parent control, non-empty Caption, etc.) Thanks to Dmitry Zharov for a report.
[-]MCK: long string literals are represented as contatenations of string portions with length at most 255 characters. This fixes an error from Delphi compiler, which makes such restrict to string literals in Pascal source. Thanks to Dmitry Zharov for bug report.
[*]MCK: WindowState assignment generated now after assigning initial Icon property value for forms. This fixes Icon assignment in case when WindowState is wsMaximized or wsMinimized. And for case, when Icon is set to -1, this allows to avoid alerts from resource tracking tools (like Memproof).


News from 24-Mar-2002

KOL and MCK news (v1.23):

[-]MCK: color change alert no more fired (at design time), just the Color is not changed at design time for TKOLButton.
[*]KOL: default value for TextColor property is initialized for label effect control to clWindowText both for asm- and pas- versions of code now. Earlier, clBtnShadow was used in asm-version only.
[-]KOL: TStrListEx.InsertObject fixed.
[-]KOL: TBits.Copy asm-version fixed.
[+]KOL: TControl.CurIndex can be used now for list view control too (it returns now index of the first item selected) .
[-]KOL: problem with WM_ENDSESSION handling  (asm-version) fixed. Thanks to Igor Popoff for a bug report.
[-]MCK: TKOLImageList editing (by double click) fixed for Delphi6. Thanks to Alexei Dragoner for a bug report.

Other packages news:

[-]Enchanced combo boxes added:  FontCombobox and ColorCombobox by Boguslaw Brandys. See it in Controls section.
[+]MHTrackBar control and MHVersionInfo component added - by Dmitry Zharov. See links in Controls.


News from 30-Mar-2002

KOL and MCK news (v1.24):

New mailing list is created by Nisses Insane. Old mailing list will be used to send news only (as earlier). Subscribing to the new kol-bin mailing list, you can receive news together with updates attached. To suscribe, just send e-mail to the following address:

[-]KOL: TMenu.ItemBitmap[ ] property re-assignment fixed in asm version.
[-]MCK: TImageList images colors depth reduce from pf16bit to pf8bit fixed. Since BRCC32 can not handle pf15bit and pf16bit bitmaps, this color format is converted to pf24bit before saving it. By an advice of Dmitry Zharov.
[+]MCK: TKOLProject.PaintType property added with default value ptWYSIWIG. WYSIWIG painting is now provided only for TKOLLabel and TKOLEdit - by Dmitry Zharov.
[-]MCK: inc-file generated now is saved on disk immediately, so a situation when after changing some properties and running the application from IDE properties are not applied should be very rare (even if inc-file is loaded in the IDE Editor).
[-]MCK: TKOLThread - AutoFree changing property at design time did not lead to generating new code in immediately. Fixed. Also, SetSuspended corrected to allow suspending thread by itself.

[-]MCK: Generating icon resource for paths containing spaces fixed. Thanks to Dmitry Zharov for a fix.
[-]KOL: Progress bar bounds rectangle initialization fixed (asm-version). Thanks to Dmitry Zharov for a bug report.
[*]MCK: Additional sorting of components before generating its creation statements provided. New virtual methods TKOLObj.CompareFirst and TKOLControl.CompareFirst allow to force creating of some objects in a certain order, in case when its creation order is important. Coded by Alexander Shakhaylo.

Other news:

[+]DemoMenuBitmaps and DemoMenuMeasureItem, and DemoWordWrapBitBtn demo-projects added in Demo section.
[+]Michail Besschetnov's SPCComponents v1.3 available. Another control: SPCDirectoryEditBox added. See a link in Controls section. He announced also his implementation of MINER game, made with KOL: SPCWinMine. See it on his Web Page.
[+]KOLPrintDialogs package added - by Boguslaw Brandys. It contains PageSetupDialog and PrintDialog components. See it in Controls section.
[-]KOLEDB: working with DBTYPE_R4 and reading DBTYPE_WSTR fixed - by Alexander Shakhaylo.



News from 5-Apr-2002

Please note, that starting with this release of KOL/MCK all subsribers of newly opened news-list KOL-BIN begin receiving updates to KOL and MCK in an attach to news e-mail. You can subscribe any time sending e-mail to the address:

KOL and MCK news (v1.25):

[-]KOL: TControl.Text property reading for case of very large text (Mbytes) fixed (asm version). Thanks to Dmitry Zharov for a bug report.
[-]KOL: ParamStr function fixed to return correct path to executable when index passed is 0 and there are no windows created yet. Thanks to Vadim Petrov for a bug report.
[-]KOL: combo box window message handling procedure fixed (asm-version). Thanks to alm for a bug report.
[*]MCK: Some improvements and changes in MCK controls implementation to provide WYSIWIG painting at design time.
      o  Original KOL-based aligning implemented, which takes into consideration Border and MarginXXXX properties. Reading and applying of TKOLProject.PaintType property fixed when project is opened.
      o  Font preparation for WYSIWIG painting fixed (thanks to Dmitry Zharov for a bug report).
[-]MCK: Some minor bugs fixed:
      o  Before generating code to create controls, those are sorted, and for controls which do not use TabOrder property, its position used to determine which to create first. As a result, aligned labels are created exactly from left to right (for left- or right- aligned) or from top to bottom (for top- and bottom- aligned), and those are placed on form there those are located at design time. The same way controls are sorted in newly added design-time aligning procedure, so to change aligned controls visual order, it is sufficient to drag it over form (like in VCL).
      o  Bugs fixed with disappearing {$ENDIF} directives when TKOLProject or TKOLForm components are renamed (property Name changed). Thanks to Alexander Shakhaylo for assistanse.
      o  It is possible now to rename menu items just to change case of some letters (earlier, rename from mnuitem1 to mnuItem1 was not allowed. Thanks to Alexei Dragoner for a bug report).
      o  Resource leak with TKOLMainMenu fixed. Could affect large main menus, preventing form to load it into IDE at design time.
      o  To prevent error in ComCtl32.dll while attemting to map toolbar's bitmap, if it has more than 256 color, property mapBitmap set automatically to False for such bitmaps.
[+]KOL/MCK: eoNumber style added to edit control - by Dmitry Zharov.

Other packages news:

[-]KOleDb: TQuery.ColType[ ] property reading fixed for case of string field (not unicode). By Alexander Shakhaylo.
[+]KOleDb: TQuery.FirstColumn function added to return an index of the first column containing data (it can be 0 or 1, in some different cases). By Alexander Shakhaylo.
[*]From the previous release, following additional packages were updated: KOLListData, MHTrackBar, MHFontDialog, KOLProgressBar, KOLSocket, KOLFTP.
[+]Another additional package added: enchCombos, containing TKOLColorCombobox and TKOLFontCombobox visual components. By Boguslaw Brandys.


News from 14-Apr-2002

KOL and MCK news (v1.26):

E-mail based conference created. Anybody subscribed can send their messages (questions, suggestions, etc.), and all those will be available for all other subsribers. To subsribe, send e-mail here: To send messages, use then e-mail supplied in a reply from yahoo.Groups.

[-]MCK: generating an assignment to HasBorder property fixed for TKOLImageShow.
[-]MCK: generating of properties PriorityClass and ThreadPriority added for TKOLThread. Thanks to Dmitry Zharov for a reminding.
[-]KOL: ExtractFileExt function asm version fixed for case of empty filename. Thanks to Peter Tuente for a bug report.
[-]KOL: FileFullPath function fixed for case when flag 'Hide extensions for registered file types' is set on in Explorer properties. Thanks to Vladimir Brezhnev for a bug report.

[+]KOL: full MDI support added. New functions NewMDIClient, NewMDIChild allow to prepare MDI client window on form and create MDI children. Moreover, it is possible to create several MDI forms in a single application.
      MCK: Two new mirror components are added: TKOLMDIClient and TKOLMDIChild, which allows to create MDI applications visually. Also, property WindowMenu (Boolean, design-time) added to TKOLMenuItem, which allows to select desired main menu item as a window menu to follow MDI children list after it automatically.
      To simplify learning MDI application creation with KOL/MCK, DemoMDI provided (see in Demos section) with detailed instruction "How to create MDI project with MCK" supplied there.

Other packages news:

[*]KOLPrintDialogs package by Boguslaw Brandys updated. One more component added: TKOLPrinter.
[*]Dmitry Zharov's Web Page moved to another location:


News from 21-Apr-2002

KOL and MCK news (v1.27):

[-]KOL: Statusbar aligning fixed (became wrong after some changes in previous version).
[-]MCK: TKOLToolbar initial aligning caTop fixed when first dropped on form.
[+]KOL: TControl.TBAssignEvents method added to assign events for each of toolbar button OnClick event. MCK: TKOLToolbar reworked to allow adjusting each toolbar button property with Object Inspector, including onClick event assigning as usual.
[+]KOL: TControl.TBBtnImgWidth property added, which allows to assign not only square images to toolbar buttons. MCK: code generation provided for case when button image width is not equal to button image height (property TBBtnImgWidth used). Also, generating toolbar bitmap resource optimized to exclude buttons without images from the bitmap and make resource smaller.
[-]MCK: TKOLMenuItem.OnMenu event showing/changing in Object Inspector fixed for Delphi2.
[-]KOL: OnShow/OnHide events call fixed for controls (were not called).
[+]MCK: TKOLPanel WYSIWIG painting added at design time. Thanks to Dmitry Zharov for code.
[-]MCK: TKOLThread - generating assignment to a property ThreadPriority fixed. Thanks to
Michail Beschetnov and Dmitry Zharov for bug-reports.
[+]KOL: RegKeyGetStr function improved to read strings of any length from registry. New registry functions added: RegKeyGetStrEx - which additionally understands REG_EXPAND_SZ type and returns resulting string with environment variables already expanded, RegKeyDeleteValue, RegKeySetStrEx (code is suggested by neuron).
[-]KOL: _DelimiterLast function asm-version replaced with __DelimiterLast. (It changed to return a pointer to the last found delimiter, not to a following character as earlier. All filename parsing functions changed to use new version of this function. I hope, this will fix its all and make it independent from a kind of parameter passed - if it is an empty string, or path only, or filename only, etc. Thanks to Peter Tuente for a bug report). Function ReplaceFileExt added.


News from 6-May-2002

KOL and MCK news (v1.28):

[+]KOL: TStrList.SetUnixText method added (uses new function NormalizeUnixText).
[+]KOL: TControl.DeleteLines method added to simplify deleting lines in memo or rich edit control.
[-]KOL: TControl.GetCaption asm-version fixed and works now correctly under Win9x for case of empty caption. Thanks to Vladimir Piven for a bug-report.
[-]KOL: NewTabControl asm-version fixed for setting option tcoHotTrack. Thanks to Vladimir Brezhnev   for a bug-report.
[*]MCK: assignment to the property TKOLToolbar.bitmap changed to allow editing the bitmap for all buttons at a time - again, as it was working before v1.27 (but now, non-square images allowed too).
[*]KOL: event message handling changed for toolbar control for case when in XP a notification TTN_NEEDTEXTW is sent intstead of TTN_NEEDTEXT to get tooltips text. Thanks to Vladimir Brezhnev for coding.
[-]KOL: problems with compiling using PAS_VERSION fixed.
[*]KOL: WinVer function changed to recognize Windows XP version too. Thanks to Vladimir Brezhnev.
[-]KOL: some fixes in reading icons from files, writing it, recognizing 256-color icons etc.
[-]KOL/MCK: some fixes in TImageShow / TKOLImageShow.
[*]KOL/MCK: some changes in TImageList / TKOLImageList.
[*]KOL: InitCommonControls call changed to InitCommonControlsEx.
[-]KOL: TCanvas.RoundRect asm-version fixed.
[-]KOL/MCK: ExecuteWait fixed for case of Win9x/ME.
[-]KOL: menu accelerator keys usage fixed. Thanks to Danil for a bug report.
[*]MCK: obsolete form unit Mirror2KOLStart removed from MCK. All MCK packages should be reinstalled.

Other packages news:

[+]KOL_ShareMemory package added with an object to share memory between applications, by neuron. See it in Mathematics, exceptions, compression section.
[+]KOL_TwoFish package added with an object to encrypt / decript data, by neuron. See it in Mathematics, exceptions, compression section.


News from 11-May-2002

KOL and MCK news (v1.29):

[-]MCK: TKOLLabel and TKOLLabelEffect fixed for setting TextAlign and VerticalAlign properties values at design time, and generating code for it.
[-]MCK: TKOLForm.OnDropFiles event added.
[-]KOL: in TIcon.LoadFromStream loading of icons with gray and silver colors swapped fixed (there were problems under Windows9x with such icons).
[-]MCK: design-time aligning fixed (border was doubled, non-client edge was not took into account) and default font in WYSIWIG painting fixed (under Windows9x too large font was used), autosizing (for labels, buttons, etc.) at design-time also fixed in result. Also, delayed (with timer) auto-realigning provided (to align initially aligned components like TKOLSplitter), and re-aligning provided when TKOLPanel.EdgeStyle changed at design time.
[+]KOL/MCK: event OnLVDelete added for deleting listview item.
[*]MCK: for TKOLImageShow, design-time autosizing improved.
[*]MCK: Some methods (AddToNotifyList, NotifyLinkedComponents) provided to allow notifications from linked components to each other about renaming or removing. Such methods are applyed to TKOLImageShow, TKOLBitBtn, TKOLListView, TKOLTreeView to notify those about removing TKOLImageList instances from the form. This should fix possible design-time errors while removing TKOLImageList component which is used in some controls.
[+]MCK: TKOLToolbar improved: now TKOLToolbarButton has additional property sysimg, which allows to assign at design time one of system-defined images (STD_XXXX, VIEW_XXXX, HIST_XXXX) to the toolbar button, and TKOLToolbar.StandardImagesLarge allows to define if small or large system images are used. It is possible to assign all kinds of images (system and custom) in the same toolbar at the same time.
[-]KOL: Toolbar tooltips fixed for NT, 2000 and XP (TTN_NEEDTEXTW was handled incorrectly).
[*]MCK: generating bitmap resources (for toolbar, imagelist, etc.) improved: now exact number of colors used in bitmap is considered while deciding in which format the resource should be stored. Minimal necessary from pf1bit, pf4bit, pf8bit, pf24bit is used. And, generating bitmap resource became independant from Delphi version, since KOL's PBitmap used (VCL in Delphi2 can not work with DIB bitmaps).
[+]MCK: generating menu and toolbar items constants at design-time provided. Generated at design time constants can be used as menu item indeces or as toolbar button indeces at run time.
[+]KOL/MCK: constraint properties MinWidth, MinHeight, MaxWidth, MaxHeight are added for form and controls.
[-]KOL: MDI invalidating and updating fixed for MDI child maximizing / restoring, MDI child destroying fixed. Please note: MDI seems not yet ready to use except beta-testing and bug fixing.


News from 19-May-2002

KOL and MCK news (v1.30):

[-]MCK: Access Violation fixed when project is reopened for labels, buttons, etc. with Autosize = true. Thanks to Boguslaw Brandys for a bug report. Also, AutoSize improved a bit and a control automatically auto-resized when its bounds rectangle changed, or when form is loaded at design time.
[-]MCK: Toolbar - initial assignment to set Visible, Checked and DropDown property for buttons provided. Buttons are created with Visible=TRUE by default.
[-]KOL: TControl.Clear fixed for a tree view control (only one root item was deleted). Thanks to Valerian Luft for a bug-report.
[*]KOL: bit btn painting when pressed changed: TextShiftX, TextShiftY also are appied for the image (excluding
glyphOver style).
[*]KOL: WndProcKeybd asm version fixed and returns now correct shift keys state. Thanks to The Delphi Inspiration for a bug report.
[*]KOL: ScrollBarEx improved a lot, and works very smart now.
[+]KOL: LVColImage, LVColOrder properties added to the TControl, extending list view capabilities.
[+]MCK: design-time property Columns added, with property editor, which allows to adjust TKOLListView columns. Also, new property generateConstans (true by default) controls if to generate column indeces constants like it is done earlier for menu items and toolbar buttons.
[-]MCK: error on control deleting and closing IDE fixed (Delphi3, Delphi4).

Other packages news:

[*]KOLDatePicker by Boguslaw Brandys version 1.1 available:

[+] OnChange,OnDropDown,OnCloseUp,OnPaint,OnEraseBkgnd,OnMessage events
available.(others still exists in MCK component but are dumb)
[+] Color property for changing colors of any part of control
[+] SetFont method for changing font of attached monthcal

[+] Checked property for testing if is checked (only when piCheckBox was used)
[+] Format property to change format of displayed date/time (eg.'yyyy-MM-dd')
[+] All properties from MCK control are available (such like Visible,Enabled,TabOrder), others are hidden.

[-]KOL_TwoFish completed with missing file - by neuron.
[+]some new Demos are available in Demos section:

1. CplSample - by Boguslaw Brandys
2. DemoShellBrowser


News from 27-May-2002

KOL and MCK news (v1.31):

[-]KOL: PAS_VERSION fixed.
[+]MCK: TKOLForm.popupMenu added.
[+]MCK: WYSIWIG painting provided for TKOLButton, TKOLCheckBox, TKOLRadioBox, TKOLCombobox. Thanks to Roman Vorobets for coding it.
[+]KOL+MCK: TMenu and TKOLPopupMenu: property Flags provided to adjust popup menu as necessary.
[*]MCK: TKOLCustomControl made as an ancestor for TKOLControl. It allows for partially created additional controls to hide unwanted properties and events just not listing it in "published" section.
[*]KOL: procedure FreeAndNil renamed to Free_And_Nil to avoid conflicts with VCL's FreeAndNil (there were problems with design-time code under Delphi3 and Delphi4).

Other packages news:

[*]KOLPrinterDialogs v1.2 provided - by Boguslaw Brandys. See it in Components section.
[+]KOLUpDown v1.2 added - by Boguslaw Brandys. See it in Components section.
[+]KOLZIP - by Boguslaw Brandys. This is an adapted version of freeware TZip component by Angus Johnson. See this component in Math section.


News from 8-Jun-2002

KOL and MCK news (v1.32):

[-]KOL: tree view items state properties reading fixed (TVItemBold, TVItemCut, TVItemDropHighlighted, TVitemExpanded, TVItemExpandedOnce, TVItemSelected). Thanks to Danil for a bug report.
[-]MCK: code generation for TKOLTrayIcon initialization fixed for case Active=false. Thanks to Vyacheslav Plisko for a bug report.
[+]KOL: TTrayIcon.NoAutoDeactivate property added.
[*]KOL: several functions are added for date/time to/from string conversion: Str2DateTimeFmt, Date2StrFmt, Time2StrFmt. Function Str2DateTimeShort fixed and optimized.
[+]MCK: for TKOLBitBtn, TKOLImageShow, TKOLListView, TKOLTreeView, it is now possible to make a reference to image list objects, located on another form, at design time. Thanks to Vladimir Piven for code.
[+]KOL: TControl.BitBtnImgIdx property added to allow changing starting image index for bit buttons, which are using image list (has option
[+]KOL: TMediaPlayer.Alias property added.
[*]MCK: TKOLTabControl works better when its tab panel deleted. Thanks to Roman Vorobets for code. Also, he added WYSIWYG painting for TKOLTabControl at design time.

Other packages news:

[-]KOLFormSave fixed - thanks to Vyacheslav A. Gavrik from Alex Shakhaylo. (Section: Controls)
[+]New demo-projects are added: DemoListViewChkBoxes and DemoClientServer - by Mike Sevbo. See it in Demos section.
[+]One more socket objects added: XSocket - by Roman Vorobets. See it in Sockets section.
[+]Another Trackbar control added: KOLCCtrls and MCKCCtrls - see it in Components section.


News from 17-Jun-2002

KOL and MCK news (v1.33):

[-]KOL: reading Items[ ] property fixed for memo and richedit control. Thanks to Riton, who takes my attention on such problem.
[*]KOL/MCK: combobox improved: style
coSimple added. Event OnChar fixed for combobox. Other keyboard events handling for combobox also provided better when earlier.
[*]KOL: tabulating changed. Now tabulation occur on WM_KEYDOWN message, not on WM_KEYUP.
[-]MCK: TKOLToolbar tooltips and events generating for buttons fixed (were assigned to separator buttons by error). Also, assignment histXXXX system images to buttons fixed for case when viewXXXX images used also in the same toolbar. Thanks to Vitaly Lvin for bug reports.
[+]KOL/MCK: events OnQueryEndSession, OnMinimize, OnMaximize, OnRestore added for form and applet.
[-]KOL: abnormal termination on logoff or shutdown fixed.
[-]KOL: DirListEx asm version fixed (for case of multiple filters).
[+]MCK: method TKOLProject.GenerateDPR made virtual, virtual methods BeforeGenerateDpr, AfterGenerateDpr added.
[+]MCK: WYSIWIG painting added for TKOLImageShow. By Dmitry Zharov.

Other packages news:

[+]List view extending control BAPShellBrowser added - see it in Components section. By Alexander Bartov.
[+]Another splitter-like control TSeparator added - see it in Components section.
[+]New control TSoundCtl added, to control sound volume via mixer - see it in Components section.


News from 1-Jul-2002

KOL and MCK news (v1.35):

[*]KOL: TControl.LVCurItem property assigning to -1 removes any selection from listview.
[+]KOL: TControl.LVMakeVisible method added.
[-]KOL: fixes made for work with overlay images in list view.
[-]KOL: some problems with asm-version of TDirList - turned off.
[-]KOL: TOpenDirDialog - setting InitialPath fixed under Windows9x (should not contain trailing '\').
[-]KOL: small fix for ScrollBox: floating point errors could occur when form was minimized.
[-]KOL: message WM_MOUSEWHEEL handling fixed (pas-version). Thanks to Alex Shakhaylo for a bug report.
[*]KOL: public property RefCount added to TObj. Examining if lower bit of fRefCount can be useful to get know, if objects is to be already destroyed, or yet not.
[+]KOL: TControl.BitBtnImgList property added, which can be useful to change ImageList for BitBtn at run-time.
[*]KOL: for loading system images to image list (TImageList.LoadSystemIcons method), OleInit called before.
[-]KOL: TBButtonImage[ ] property of TControl for reading toolbar image index fixed, and works now with button index as a parameter well.
[-]KOL: TBits.IndexOf method fixed.
[-]MCK: compatibility with Delphi2 restored.

Other packages news:

[*]TCPSocket package updated (renamed from XSocket) - by Roman Vorobets. See it in Sockets.
[*]BAPShellBrowser component updated - by Bartov A.P. See it in Controls.
[+]KOLDiffer application added in Applications section - by Alex Shakhaylo.
[+]ImgSearch application added in Applications section - by me.
[+]Agent.dll containing MS agent 2.0 activex control made in KOL - by Bogusіaw Brandys. See it in ActiveX section.


News from 1-Jul-2002

KOL and MCK news (v1.35):

[*] KOL: TControl.LVCurItem property assigning to -1 removes any selection from listview.
[+] KOL: TControl.LVMakeVisible method added.
[-] KOL: fixes made for work with overlay images in list view.
[-] KOL: some problems with asm-version of TDirList - turned off.
[-] KOL: TOpenDirDialog - setting InitialPath fixed under Windows9x (should not contain trailing '\').
[-] KOL: small fix for ScrollBox: floating point errors could occur when form was minimized.
[-] KOL: message WM_MOUSEWHEEL handling fixed (pas-version). Thanks to Alex Shakhaylo for a bug report.
[*] KOL: public property RefCount added to TObj. Examining if lower bit of fRefCount can be useful to get know, if objects is to be already destroyed, or yet not.
[+] KOL: TControl.BitBtnImgList property added, which can be useful to change ImageList for BitBtn at run-time.
[*] KOL: for loading system images to image list (TImageList.LoadSystemIcons method), OleInit called before.
[-] KOL: TBButtonImage[ ] property of TControl for reading toolbar image index fixed, and works now with button index as a parameter well.
[-] KOL: TBits.IndexOf method fixed.
[-] MCK: compatibility with Delphi2 restored.

Other packages news:

[*] TCPSocket package updated (renamed from XSocket) - by Roman Vorobets. See it in Sockets.
[*] BAPShellBrowser component updated - by Bartov A.P. See it in Controls.
[+] KOLDiffer application added in Applications section - by Alex Shakhaylo.
[+] ImgSearch application added in Applications section - by me.
[+] Agent.dll containing MS agent 2.0 activex control made in KOL - by BogusЁaw Brandys. See it in ActiveX section.


News from 12-Jul-2002

KOL and MCK news (v1.36):

[-]MCK: LVColOrder for list view column behavior fixed (loading, changing to -1) at design time.
[-]KOL: TList.ReleaseObjects method added.
[+]MCK: generateConstant property added for TKOLTabControl, and if TRUE, index constants are generated for tab control pages at design time (these can be used in your source instead of numeric indeces, to make code more mobile in case when amount and / or order of pages is changed - like it is already done for list view columns, toolbar buttons, menu items).
[+]KOL: GetFileList function added - by Alexander Shakhaylo.
[+]KOL: TStrList.Values[ ] property, TStrList.IndexOfName function added, to work with TStrList, containing pairs like 'name=value' - by Dod.

Other packages news:

[*]CPLApplet package added - by Boguslaw Brandys. See it in Controls section.
[*]TCPSocket package updated - by Yuri Vorobets (Sockets section).

Site news:

[*]All e-mail addresses on the site are hidden using JavaScript, created by Alexander Shakhaylo. So, there should no more problems with e-mail scanners, which constantly grab e-mail addresses from Web-site to sell it to ad-makers.


News from 23-Jul-2002

KOL and MCK news (v1.37):

[-]KOL: combobox message handling procedure fixed. Now keyboard events are passed through form's OnMessage (if assigned).
[-]KOL: EnumDynamicHandlers (asm-version) fixed. It is now possible to add dynamic handlers while messages are processing. Thanks to Alexander Shakhaylo for a bug report.
[-]KOL: TDirList fixed for case when only negative filters ( ^mask ) are used (NewDirListEx, TDirList.ScanDirectoryEx).
[-]KOL: TDirList.Sort asm-version fixed for case
sdrByDate... used. Thanks to Igor Popoff for a bug report.
[-]KOL: TabControl aligning of first tab fixed, when it is added at run time.
[-]KOL: TBitmap.LoadFromStream, LoadFromStreamEx, PasteFromClipboard fixed for case of
pf15bit and pf16bit bitmap. PasteFromClipboard improved and now uses LoadFromStreamEx to support compressed bitmaps.
[+]KOL: CopyMoveFiles procedure added.
[*]MCK: Constants are not generated for toolbar separator buttons, if those have name like TB
nnn (where nnn is a number).
[+]KOL: GDI part enchanced in correspondence of recommendations by Vyacheslav A. Gavrik:

[+]KOL: more GDI part enchancements: if child control has a font or a brash with the same characteristics, as its parent control, separate GDI handle is not allocated for it, and the handle used of the correspondent GDI tool of the parent control. In result, GDI resource needs reduced, and in some cases a lot (this could be important for Win9x).
[+]KOL: TGraphicTool.BrushLineColor property added (to allow changing line color in hatched brush).
[-]KOL: WndProcForm - handling WM_ERASEBKGND fixed (asm-version), for case when Brush was changed for the control.

Most important:
KOL/MCK: DoubleBuffered painting fixed and improved. Now DoubleBuffered
is not inherited by child controls automatically, but actually those are painting on the memory bitmap buffer of the topmost DoubleBuffered parent. I.e., if a form or a control is DoubleBuffered, all its children (recursively) are painted while painting this DoubleBuffered parent control, and all system WM_PAINT, WM_NCPAINT and WM_ERASEBKGND messages are ignored to prevent direct paint to the screen. Thanks to Vyacheslav A. Gavrik for the idea and code sample.
[±]KOL: Transparent painting fixed and improved and it is available now for all controls. Like DoubleBuffered, property Transparent now is not inherited automatically from parent controls to child ones. And, the property Transparent now is actually used to make control itself transparent, not its child controls as earlier. If a control made Transparent, its parent become DoubleBuffered automatically (at run time).

[-]KOL: handling WM_ERASEBKGND added for toolbar. This fixes toolbar view with
tboFlat style.
[-]MCK: TKOLRichEdit initial font size setting fixed (just remember, that its font size is measured in twips, which are about 1/10 of pixel).

Other packages news:

[+]MBoxToEml small utility added by Boguslaw Brandys, in Applications section.


News from 29-Jul-2002

KOL and MCK news (v1.38):

[-]KOL: Transparent fixed for GroupBox control. Flickering fixed for some kinds of DoubleBuffered controls (WM_ERASEBKGND ignored until painting occur on off-screen buffer). Drawing for invisible child controls (of DoubleBuffered parents) prevented.
[-]MCK: Toolbar fixed assigning standard images IDB_VIEW_XXX, IDB_HIST_XXX for case when images are from the same standard images set, or when both standard images and bitmaps are used together.
[+]KOL: setting property Size provided for write file stream, created via NewWriteFileStream or NewReadWriteFileStream. Thanks to Roman Vorobets for code.
[-]KOL: gradient panel (extended, NewGradientPanelEx, or in MCK, TKOLGradientPanel with styles other then gsVertical) fixed and optimized in speed (though asm-version completely removed).
[*]KOL: restoring HasBorder=true for a form at run time fixed. Now caption also is set (though styles added to show system menu, close button (enabled), minimize and maximize icons).
[+]KOL: TMetafile object added, which provides loading and drawing of emf and wmf image file format.
[+]KOL: TWStrList and TWStrListEx objects, and functions WStrLen, WStrCopy, WStrCmp added, which all work with Unicode strings.
[+]KOL: TCanvas.WTextExtent, TCanvas.WTextWidth, TCanvas.WTextHeight methods added to calculate Unicode string dimensions before paint it.

This time update in a form of small patch is not available. Please, download entire archives and


News from 1-Aug-2002

KOL and MCK news (v1.39):

[-]KOL: Pen setting Mode to pmCopy provided (was forgotten).
[-]KOL: Resource leak fixed when working with TCanvas under Win9x and TGraphicTool is changed (a pen). Thanks to Alex Pravdin for a bug report.
[-]KOL: ListBox setting style LBS_HASSTRINGS fixed (it is controlled now only by
Options in NewListBox, so creating virtual listbox control became possible). Thanks to Vyacheslav Gavrik for a bug report.


News from 10-Aug-2002

KOL and MCK news (v1.40):

[-]KOL: FontStyle changing at run-time from fsBold to not bold fixed (asm-version). Thanks to Vyacheslav Gavrik for a bug report. Some other fixes with font assignment. Using FontWidth also fixed.
[*]KOL: generating constants for Toolbar fixed: separators also are taken into account. Property enabled used for buttons (initially true, if made false at design time, code is generated to disable it initially).
[-]KOL: WM_ERASEBKGND message handling changed for some controls (form, scrollbox, toolbar, labeleffect) and moved to a single procedure WndProcDoEraseBkgnd (except for case when OnEraseBkgnd event used).
[-]KOL: labeleffect creation fixed: there are no actual Caption assigned to it, to prevent incorrect painting of the label effect control, when it is Transparent.
[-]KOL: In TControl.Show, CreateWindow is called instead GetWindowHandle to force creating child controls window handles. Useful for case when a modal form called, but a separate Applet is not used.
[-]KOL: for XP, a message WM_UPDATEUISTATE called for a control just after creating its window handle. By suggetion of Vyacheslav Gavrik. This fixes first appearing of a focused control when XP theme used.


News from 18-Aug-2002

KOL and MCK news (v1.41):

[-]KOL: BitBtn drawing fixed a bit. It is now redrawn immediately when focus lost.
[-]KOL: compatibility with Delphi2 and Delphi3 restored. Thanks to Dirk Paehl for a bug report.
[-]KOL: Double2Str fixed (redudant trailing #0 character removed, which was added sometime, and rounding-off error fixed). Thanks to Ignatyev Dmitry for a fix.
[-]KOL: combobox asm-version fixed (method Add was not working correctly). Thanks to CrazyAngel for a bug report.

[+]MCK: Localizy property added for TKOLForm and TKOLProject (Boolean) and for all other mirror components ( of a type TLocalizyOptions=(loForm, loNo, loYes) ).  Instructs the MCK to use resourcestring directive to define string constants assigned to string properties (Caption, Title, Items, etc.). For controls with Localizy set to "yes", resourcestring constants are generated automatically, and those are assigned instead of assigning constants indirect. In result, Delphi translation tools become available to create multi-language compliant applications.

[+]KOL: TControl.HelpContext and TMenu.ItemHelpContext[ ] properties added (and also method TControl.CallHelp, property TControl.HelpPath, global function AssignHtmlHelp) to provide context help support. MCK: both WinHelp and HtmlHelp are supported just changing TKOLProject.HelpFile property.


News from 25-Aug-2002

KOL and MCK news (v1.42):

[+]KOL/MCK: DefaultBtn and CancelBtn properties added for buttons (usual button, mirror TKOLButton, and bit btn, mirror TKOLBitBtn).
[+]KOL/MCK: AllBtnReturnClick property added for a form. Using it all buttons on a form (and radioboxes, checkboxes too) can be clicked by ENTER key from a keyboard.
[-]MCK: TKOLToolbar: assigning bitmap fixed for a case when both standard bitmaps are used and custom one (custom bitmap was loading twice). In toolbar designer editor, check box Drop Down behavior fixed. Thanks to Boguslaw Brandys for bug reports.
[-]KOL: rich edit control RE_SaveToStream always saved data in 8192 bytes chunks. Fixed. Thanks to Boguslaw Brandys for this bug report. Also, after this change large rich edit text should be saved/loaded much faster.
[*]KOL: if OnTVDelete event is used for a treeview control, then method Clear is called before destroying treeview.
[-]KOL: small fix for combo box control: pressing Tab on it, when form did not use Tabulate, caused Access Violation.
[*]KOL: keyboard hadling added for combobox in dropped state (keys ENTER and ESCAPE). Code responsible for hadling specific combobox messages moved from WndProcControl to WndProcCombo.
[*]KOL: when list view itself or its header is clicked with right mouse button, its RightClick property is set to true. Earlier, RightClick property was used only for toolbar.
[-]KOL: MaxHeight and MaxWidth constraint properties did not work. Fixed.
[-]KOL: Str2LowerCase function fixed ( '[' was converted to '{' ) by Dmitry Ignatyev, thanks.


News from 3-Sep-2002

KOL and MCK news (v1.43):

[±]KOL: DefaultBtn, CancelBtn and AllBtnReturnClick properties now implemented reusing Applet.OnMessage, not each form.OnMessage, so those work for case of multiple forms with a separate Applet object defined.
      KOL/MCK: method/property AllBtnReturnClick is now available for the Applet variable (TKOLApplet mirror component at design time). When used, it has effect for all project forms.
[+]KOL: TThread.SynchronizeEx method added, which allows to call method from a thread syncronously passing a parameter of type Pointer to it (and a Sender: PThread also is passed).
[-]KOL: small fix for TMenu.PopupEx for case of working with tray menu under Win98 (when clicked with left mouse button after popup, there were very low chances to activate pop-up menu again). Thanks to Martin Larsen for a fix.
[-]MCK: small fix for TKOLToolbar: for a separator, PChar('-') was generated, and this could not be compiled.
[*]MCK: when a column added to TKOLListView, its LVColOrder now assigned to -1 except a case, when LVColOrder is already changed for some existing columns.
[*]KOL: DoubleBuffered and Transparent reworked. Listview with headers is drawn correctly now. Combobox also is drawn more correctly in these modes.
[+]KOL/MCK: tcoOwnerDrawFixed style added for TabControl. An event OnDrawItem published in mirror TKOLTabControl.
[+]KOL/MCK: GradientPanel drawing improved and for gsVertical and gsHorizontal gradient styles it is now drawn halftoned both in Win9x and NT/2K/XP.
[+]KOL: TGraphicTool.LogFontStruct property added - by Alex Pravdin.
[-]KOL: TControl.Color property usage fixed. Problems were when any TGraphicTool (brush) object created either for a control or TBitmap or TCanvas.
[±]KOL/MCK: LoadBmp function added to extend
LoadBitmap API function with capability to release loaded resource bitmap when an object using it (image list, control, etc.) is destroyed. This function is used now in MCK code, preventing resource leak, which can be dangerous if a form which loads the resource constantly is created and destroyed during execution.
[*]KOL: TGdiObject.Handle type changed to
THandle (from Integer). Suggested by Alexander Shakhaylo.


News from 11-Sep-2002

KOL and MCK news (v1.44):

[-]MCK: generating LoadBmp fixed for TKOLToolbar and TKOLBitBtn.
[+]MCK: generating bitmap resources improved a lot - by Alex Pravdin. With new procedure GenerateBitmapResource, resource compiler is not called, and bitmap resource is created directly. In result, Delphi IDE works much faster, and does not create temporary rc- and bmp-files, Thanks!
      Other changes in GenerateBitmapResource are: calculation of colors count needed to store bitmap improved. Now the minimal necessary format used from pf1bit, pf4bit, pf8bit, pf16bit or pf24bit to economy bitmap resource size.
[+]KOL/MCK: function CreateMappedBitmapEx added to KOL - by Alex Pravdin. It works correctly with any bitmap format (including pf24bit and others), In MCK, function LoadMappedBitmapEx used for toolbar now, which calls CreateMappedBitmapEx and also provides automatic releasing resource when object is destroyed. Thanks!
[-]KOL: DoubleBuffered fixed for Windows9x (worked incorrectly, if form itself were DoubleBuffered).
[-]KOL: setting Color property fixed (asm-version, TGraphicTool.SetColor was called incorrectly).
[-]KOL: ScrollBoxEx control fixed: sometimes scrollbars won't be created.
[*]KOL: TGraphicTool.GetFontStyle changed: to determine fsBold style, FontWeight >= 700 comparison used instead FontWeight <> 0 as earlier. Thanks to Dmitry Matveev for the suggestion.
[-]MCK: TKOLToolbar fixed (finally!): it is now possible to place it directly onto form, without special parent panel. Earlier, applications with toolbar on form could hang up Windows9x.
[+]MCK: TKOLToolbarButton.radioGroup property added. It allows created checkable toolbar buttons, and to group several checkable buttons to a radio group.
[±]MCK: property Localizy fixed and improved for TKOLToolbar and added for TKOLMainMenu and TKOLPopupMenu.
[+]KOL: functions RegKeyGetBinary, RegKeySetBinary, RegKeyValueSize added to work with   the registry. Procedures and functions Date, EncodeDate, DecodeDate, DecodeDateFully, RegKeyGetDateTime, RegKeySetDateTime added to work with TDateTime. By suggestion of Alexander Egorov.
[±]KOL: reading 256 colors icons fixed, reading cursor allowed for TIcon.
[*]KOL: no more events are called through dynamically attached handlers after application termination (i.e. when AppletTerminated=true). If this troubling you, please report me about events which you suppose should be therefore handled after assigning true to AppletTerminated. Earlier, continuing calling handlers after terminating the application could lead to abnormal program termination after closing it, so this change is very important. To test if this change affects your code, define a symbol ENUM_DYN_HANDLERS_AFTER_RUN (in Project | Options | Directories/Conditionals | Conditional defines...) and rebuild the application before running it.

Other packages news:

[*]JpegObj.pas changed. Better corrupted images handling, reconizing of CMYK color jpegs added and ConvertCMYK2RGB property provided, working with one pixel height jpegs fixed. See in Graphics.

Applications news:

[*]ImgSearch v2.6 released. Recompiled with version 1.44 of KOL, so Jpeg recognizing fixed and improved. GIF, WMF, EMF, ICO, CUR formats support added. Some small bugs fixed. Popup menu with items "Move to..." and "Copy to..." added for files list and thumbnails view. See in Applications.


News from 15-Sep-2002

KOL and MCK news (v1.45):

[-]KOL: RegKeyGetBinary, RegKeyGetDateTime fixed.
[-]KOL: calling OnLVDelete, OnTVDeleteItem after terminating the application fixed. If you still found some event which also should be called after terminating the application, please report me about it. Note, that any message handlers attached via AttachProc, now are not called after terminating the application. Handlers are working after terminating the application only if those are attached via new procedure AttachProcEx with parameter RunAfterAppletTerminated set to true.
[*]KOL: TCanvas.DeselectHandles made public.
[±]KOL: TMenu totally reworked. Now TMenu object instance is created for each individual menu item, and menu items are available via Items[ ] property. The most of old methods to access menu items states are still available. The main difference is that separator items also are enumerated among all other items, so it's Visible property can be changed by ordinary way, like for other items. Visible property now works correctly for all nested items, and for (main) menu itself it is also available. Additionally, following new properties are available for menu items: BitmapChecked, BitmapItem, MenuBreak, Highlight, RadioGroup, Data, OwnerDraw, DefaultItem and events OnMeasureItem and OnDrawItem. When Accelerator property is assigned for menu item, SupportMnemonics for a form is called automatically now.
     MCK: In TKOLMenuItem, calculating of itemindex changed to allow enumerating separators and properties bitmapChecked, bitmapItem, ownerDraw added. Property radioItem:boolean replaced with radioGroup:integer, so Delphi will alert you while loading earlier created projects. For TKOLMenu, generateSeparatorConstants property and events OnMeasureItem and OnDrawItem added.


News from 16-Sep-2002

KOL and MCK news (v1.46):

[+]KOL/MCK: Delphi 7 support added.


News from 17-Sep-2002

KOL and MCK news (v1.47):

[-]KOL/MCK: Delphi 5 support fixed, Delphi 7 better support. KOLDEF.INC reworked to make adaptation to all future Delphi versions easier (constants like _D5orD6orD7, _D6orD7 are replaced with ones like _D5orHigher, _D6orHigher).
[-]MCK: TKOLForm.SimpleStatusText, StatusText[ ] properties fixed.


News from 17-Sep-2002

KOL and MCK news (v1.48):

[-]KOL/MCK: Delphi 6 and Delphi 7 support fixed (some inc-files were not yet updated).
[-]KOL/MCK: TThread/TKOLThread event OnSuspend fixed and changed to be called synchronously in main thread.


News from 19-Sep-2002

KOL and MCK news (v1.49):

[-]KOL: TMenu.Visible property fixed (for restoring Visible=true for items, having subitems).
[*]KOL: TControl.ProcessMessages: call of
WaitMessage removed. If you wish, you can call it in your code before calling Applet.ProcessMessages (but in most cases, this is not necessary).
[+]MCK: for TKOLToolbar, property HeightAuto added (default True). Set it to False to generate code which changes size of toolbar (height usually) to be the same as at design time. But this does not affect toolbar buttons size, which is determined by the system on base of toolbar font height and images size.

Other packages news:

[*]KOLPrinterDialogs package updated by Boguslaw Brandys (components TKOLPageSetupDialog,TKOLPrintDialog,TKOLPrinter, v1.4). See it in Components.
[*]KOLUpDown component updated by Boguslaw Brandys (v1.3). See it in Components.
[+]ScanNet sample application added by Stanislaw Matushevsky, with sources. See it in Applications.


News from 22-Sep-2002

KOL and MCK news (v1.50):

[-]KOL: TMenu changing Visible, Enabled, etc. state for invisible (with parent) items fixed.
[-]KOL: procedure Run fixed:
WaitMessage is added to the message processing loop. Otherwise, an application eats 100% of resources.
[-]KOL: in TControl.Invalidate checking for AppletRunning changed to not AppletTerminated. This fixes initial setting of Color property before calling Run procedure. Thanks to Sergey V. Gershovich for bug report.
[*]KOL: in NewToolbar, calling of
DoInitCommonControlsEx( ICC_BAR_CLASSES ) added. This should make toolbar behavior more correct in some cases (may be under XP).
[-]MCK: TKOLRichEdit.MaxTextSize generating code fixed for case of values greater then $7FFFFFFF.

Other packages news:

[*]KOLEnchCombos package updated by Boguslaw Brandys (components TKOLColorCombobox ,TKOLFontCombo). See it in Components.

Site news:

[*]mail list on opened by Boguslaw Brandys (see a reference in Links).


News from 29-Sep-2002

KOL and MCK news (v1.51):

[-]KOL: Toolbar options assigning (NewToolbar, asm-version) fixed. With adding a call to DoInitCommonControls,options passed were broken.
[-]KOL: listbox option loNoExtendedSel fixed (was defined conversely).
[-]KOL: treeview event OnTVDelete was called twice in asm version for each item. Fixed. Also, handler calling Clear on treeview destruction is attached now to its parent.
[-]KOL: TControl.WndProc pas-version changed a bit to fix AV on form closing. Asm-version worked more correct.
[-]MCK: TKOLImageList fixed to accept non-square images. Thanks to Andrzej Kubaszek for a code.
[±]KOL/MCK: TControl.IgnoreDefault property added (initially true for button, bitbtn, memo and richedit). When a control with IgnoreDefault=true has focus, DefaultBtn is not clicked when key ENTER is pressed. And, when CancelBtn has focus, DefaultBtn always is ignored. Thanks to Martin Larsen for a suggestion to fix such behavior for DefaultBtn.
[±]MCK: TKOLGradientPanel WYSIWIG painting added - by Dmitry Zharov.

Other packages news:

[*]KOLZLib updated. Obj's replaced by v1.1.4 (old version was 1.1.3), and some declarations moved from implementation to interface section. These changes are necessary for KOLPng. See in Math section.
[+]KOLPng package added with full support of PNG graphics format. KOLZLib needed. See it in Graphics section.


News from 2-Oct-2002

KOL and MCK news (v1.52):

[-]KOL: Accelerators fixed (asm-version).
[-]KOL: TControl.WndProc pas-version changed a bit more to fix form closing. Asm-version still worked correct.
[±]MCK: GradientPanel fixed for elliptic and rombhic filling (small areas in most far corners were not filled in).

Other packages news:

[*]BAPShellBrowser component updated - by Alexander Bartov. It is now based on virtual listview and works much faster. See in Components section.
[+]KOLPCX package added with decoding support for PCX graphics format (2 colors, 16 colors in 1 and in 4 planes, 256 colors in 1 plane, and true color in 3 planes are supported).See it in Graphics section.
[+]ImgSearch v2.8 available, with support of PNG and PCX files. See in Applications section.


News from 7-Oct-2002

KOL and MCK news (v1.53):

[-]KOL: Align assignment fixed (in some cases, worked incorrectly while changing control's bounds programmatically at run time).
[-]KOL: for ListView, changing LVStyle from
lvsDetailNoHeader to lvsDetail fixed (header did not appear). Thanks to Alexander Bartov for a bug report.
[-]KOL: call of
WaitMessage added to a message loop for modal form showing. This fixes eating 100% of processor resources while showing modal dialog.
[-]KOL: method IsMainWindow changed to fix terminating application in some cases. Also, EnumDynHandlers now ignores all handlers (even attached with parameter
ExecuteAfterAppletTerminated=true) for objects with RefCount already < 0 (i.e. for objects which should already be destroyed, but destroying is delayed until next RefDec).
[-]KOL: call of Applet.ProcessMessages added to TerminateApplet. While terminating, RefInc and RefDec applyed to the applet variable to prevent its destruction until terminating.
[-]KOL: handling WM_ENDSESSION changed to fix Access Violaton under Windows 9x, and to provide OnDestroy event handlers call for all objects both under WinNT/2K/XP and Win9x/ME.
[+]KOL: global procedures added: SpeakerBeep, LogFileOutput.
[+]KOL: function added NewFileStream( Filename, Options ), which allows to create file stream, opening file in desired mode.
[+]MCK: property Brush added for TKOLForm, TKOLCustomControl and for the most of controls.
[+]MCK: property Tag added for TKOLMenuItem, TKOLApplet and TKOLForm.
[*]MCK: generating bitmap resource optimized for speed (especially important for large bitmaps).
[-]KOL: accessing TBitmap.ScanLine[ 1 ] never more leads to assertion violation, even if bitmap Height is 1. (Gradient panel with
gsHorizontal filling style under WinNT was affected in PAS_VERSION of the code).
[±]KOL: property TMenu.SubItemHandle now made read-only and means the same as Handle. Old methods Insert, InsertItem, AddItem, InserItemEx are changed a bit to allow adding subitems dynamically. And two new methods InsertSubMenu and RemoveSubMenu added to allow adding or detaching entire submenu together with all its subitems dynamically. DemoDynamicMenus also updated and contains now demonstration of all main methods of adding or removing either individual menu items or entire submenus.

Other packages news:

[-]JPegObj package - compression fixed. See new version (3.1.153) in Graphics section.
[+]WebCount application added to Demo and Applications sections. It is a sample of CGI-application, which generates a jpeg-image (counter) to pass it to a WEB-client. By Andrey Chebanov.
[*]BAPShellBrowser updated. See new version in Components section.


News from 14-Oct-2002

KOL and MCK news (v1.54):

[-]KOL: repainting list view header with property DoubleBuffered=true when clicked fixed.
[-]KOL: bitmap resource generating fixed (for colors containing component $FF format pf24bit used).
[+]MCK: property TKOLApplet.ForceIcon16x16 added to provide loading 16x16 icon for applet and all forms, which does not have its own icon. This can be useful, if both 16x16 and 32x32 icon images are provided for the application.
[+]KOL: global procedures added: AppletMinimize, AppletHide, AppletRestore.
[+]MCK: property added TKOLRichEdit.OLESupport. If set to TRUE in Object Inspector, NewOLERichEdit function is used from a unit KOLOLERichEdit by Alexander Shackhaylo (it should be downloaded additionally). Rich edit control with OLE interface support allows to insert images and other objects supported by OLE.

Other packages news:

[+]KOLOLERichEdit package added - by Alexander Shackhaylo. It supports inserting images and other OLE objects into rich edit control. See it in Components section.
[+]KOLReport package added, which allows to generate any printable reports easy. See it in Database section, which now named as Database and Printing. Both printing support components (MHPrinter by Dmitry Zharov, KOLPrinter by Boguslaw Brandys also moved there). KOLPrinter updated today also. And any of two those printer components could be used with KOLReport (which to use is controlled by compiler conditional defines).


News from 16-Oct-2002

KOL news (v1.54.1):

[-]KOL: some fixes in asm version. MCK did not changed from the last update.


News from 19-Oct-2002

KOL and MCK news (v1.55):

[-]KOL: some small fixes in asm version.

Other news:

[*]KOLReport updated. In new version, metafiles are used. This provides high-quality printing with higher speed. Some other useful changes (margins, printer setup dialog, etc.) See it in Database and Printing.
[*]KOLPrintDialogs updated - by Boguslaw Brandys. See it in Database and Printing.
[*]BAPShellBrowser updated - by Alexander Bartov. See in Components.
[+]DirCollector application added. See it in Applications.


News from 29-Oct-2002

KOL and MCK news (v1.56):

[-]KOL: Reading 15-bit color bitmap fixed. Reading old (core) bitmap format with 12-byte header provided.
[-]KOL: Installing status bar at run-time fixed. MCK: StatusSizeGrip property works for a form even if it has no statusbar initially.
[-]KOL: Accessing/changing LVColOrder[ ] for list view fixed.
[-]KOL: TBits fixed and improved for speed.
[*]KOL: changes made to reflect form appearance to desktop color scheme changes on the fly.

Other news:

[*]Lnk updated - by Andrzej Kubaszek. CreateLinkDesc function added, which creates a link with Description, reference to OLE2 unit removed.
[*]KOLReport updated. Some changes in page setup dialog, documentation added (comments for xHelpGen).
[*]KOLPrinters updated - by Bogusіaw Brandys.
[*]KOLGif updated. Some memory leaks fixed (were found mainly for corrupted images). TGifShow control added, with MCK mirror TKOLGifShow.
[*]KOLPng updated. Some memory leaks fixed (were found for certain chunks, like tEXt chunk).
[*]Aplication ImgSearch v3.0 available.
[*]BAPShellBrowser updated - by Alexander Bartov.
[*]BAPDriveBox added - by Alexander Bartov.


News from 8-Nov-2002

KOL and MCK news (v1.57):

[-]MCK: Storing property Default for TKOLMenuItem provided.
[-]KOL: TIcon.SaveToStream and SaveToFile fixed (color bitmap part was stored incorrectly in some cases, with most colors lost).
[+]KOL: FileCreate improved: some flags are provided to create file with specified attributes.

Other news:

[*]Lnk updated - some constants added by Andrzej Kubaszek. ResolveLink function added.
[*]Bars application v1.1 added in Applications section.
[*]BAPShellBrowser updated - by Alexander Bartov.
[*]BAPDriveBox updated - by Alexander Bartov.
[*]KOLOleDB updated - second call of
CoInitializy was failed in previous version.
[*]KOLGif updated - TKOLGifShow improved a bit.


News from 8-Dec-2002

KOL and MCK news (v1.58):

[*]MCK: Some small improvements and fixes in project maintainance.
[*]KOL: TControl.ShowModal made as function.
[-]KOL: TBitmap.StretchDraw fixed: when (a large) DIB bitmap could not be drawn without handle, handle is created automatically and drawing is performed again using Handle.
[*]KOL: TLVHitTestInfo: iSubItem field added to a declaration.
[*]KOL: notes made for FileExists function: it always return false for files opened for exclusive use in NT-based systems (like pagefile.sys).

Other news:

[-]KolPng updated - AssignHandle method fixed, see it in Graphics section.
[+]ComPort component added - by Vasyly Pyvko, see it in Sockets section.
[*]BAPDriveBox component updated- by Alexander Bartov, see it in section Controls.
[+]BAPTrayIcon component added - by Alexander Bartov, see it in section Controls.
[+]GrabScreen application added (with sources), see it in Applications sections.
[+]TDKSyntaxParsers, TDKKOLPaslex, TDKKOLPEEdit, TDKKOLScript applications added (with sources) - by Thaddy de Konig, in Applications section.


News from 18-Dec-2002

KOL and MCK news (v1.59):

[-]KOL: Setting property TThread.PriorityClass fixed: handle of current process used now.
[-]KOL/MCK: Toolbar with separator placed first fixed (tooltips showing and OnClick event handling) - by Alexander Pravdin.
[+]KOL: Property TControl.LVSelCount added.
[+]KOL/MCK: Event TControl.OnLVCustomDraw added.
[+]KOL: Property TBitmap.BoundsRect added.

Other news:

[-]DirTreeView: fixed for case, when it was placed on a page of TabControl - by Dmitry Alexeyko.
[+]KOLmirrorsGem.dcr available with alternative icons for standard MCK components - by Roman Vorobets. See it in Components section.


News from 12-Jan-2003

KOL and MCK news (v1.60):

[-]MCK: Toolbar buttons resource naming fixed (TBBMP5000 was the first name used in different forms, now form name used as  prefix, e.g: TFORM1_TBBMP5000). Thanks to Dmitry ... for a bug report.
[+]KOL: TBits.OpenBit function added.
[+]KOL: function Swap added. Constants VK_ALT, VK_PAGE_UP, VK_PAGE_DOWN defined.
[-]KOL: PControl.LVColImage[ ] fixed. Thanks to Mike Gerasimov for a bug report.
[*]KOL: sorting improved for list view control (ascending or descending took into account), mask changed to allow optional assigning images to image list columns. Thanks to Mike Gerasimov for code.

Other news:

[*]KOLGif: small change to stop "platform specific" compiler hints in Delphi 6 and higher. See it in Graphics section.
[*]KOL_err: small changes in err.pas to stop "deprecated" compiler hints in Delphi 6 and higher.
Small changes in kolmath.pas: functions EMax, EMin added. Unit MMX.PAS added with function GetCpuType which checks a processor for MMX instructions set support (MMX, SSE or SSE2). Download in Mathematics section.
[*]ActiveKOL: small changes in KOLComObj.pas - for Delphi6 and higher, Variants unit added to uses clause to provide compiling it. See it in ActiveX section.
[+]KOLWAB: Windows Address Book unit by Alexander Shakhaylo added. See it in ActiveX section.
[+]Also some references are added to new Applications made using KOL: 100K_Zipper and YmliteCompact.


News from 13-Jan-2003

KOL and MCK news (v1.61):

[-]KOL: PControl.LVColAdd fixed. Problems were with LVCF_IMAGE mask. It should not be added there.
[-]KOL: Color2Color16 function fixed (asm-version was switched against pas-version, asm-version contained a bug in code).
[*]KOL: BS_DEFPUSHBUTTON style is added/removed for DefaultBtn now when set/reset. By Yury Sidorov.

Other news:

[+]A reference added to new Application made using KOL: PE Correcor.


News from 21-Jan-2003

KOL and MCK news (v1.62):

[-]MCK: TKOLTrayIcon.AutoRecreate property assignment fixed (just was forgotten).
[-]MCK: 2 resource leaks fixed (design-time) - by Yury Sidorov.
[+]KOL: PControl.SetClientSize function added. MCK: this method of initialization of form size is used for non-sizeable forms, to provide the same size of such forms independing of window caption bar height, which can be different. Thanks to Yury Sidorov for suggestion.
[-]KOL: default button improved. Now it does not loose pressures (even if mouse was moving or ENTER pressure was short), WM_CHAR message supressed (no beep). Thanks to Yury Sidorov.
[-]KOL: destroying modal dialog fixed (problems were mainly under Windows9x). Now widow is hidden before destroying its child controls. Thanks to Yury Sidorov.
[-]KOL: toolbar buttons tooltip size trimming to so short value fixed - by Yury Sidorov. Now it accepts tooltips 79 characters (24 was earlier).
[+]MCK: BorderStyle design-time property added for TKOLForm by Yury Sidorov.
[+]MCK: new ptWYSIWIG design-time drawing of controls implemented by Yury Sidorov. Previews mode still available as ptWYSIWIGCustom. Thanks for so hard work!
[+]KOL: functions Stream2StreamEx and Stream2StreamExBufSz and methods TStream.ReadStrEx, ReadStrExVar, WriteStrEx added - by Roman Vorobets.
[+]KOL: methods TStream.ReadStrZ, WriteStrZ added.
[+]KOL: option
odBrowseIncludeFiles added for TOpenDirDialog. By an advice of Dmitry Alexeyko aka Dimaxx.
[*]KOL: TControl.Items[ ] now available for read (e.g. for combo box) even for case when index is out of bounds. For incorrect index, empty string is returned.
[*]KOL: TMenu: bitmap drawing fixed - by Andrzej Kubaszek.

Other news:

[+]VCL-related components section opened. These is provided mainly for components, converted from its KOL analogues, and found useful for VCL projects (e.g., TNormalReport which is a conversion of TKOLReport, or TFastListView created after some experience of working with virtual list views in KOL).
[*]Updater v3.0 available, now with all sources and together with UpdateMaker v3.0, also with sources. Still now updates for KOL and MCK will be prepared using new version of those tools, so if you use Updater for updates, do not forget to download it. New updater is available in Applications section.


News from 25-Jan-2003

KOL and MCK news (v1.63):

[±]KOL: MenuStructInfo function added. Now it is used always to initialize TMenuItemInfo structures (field cbSize). Thanks to Andrzej Kubaszek.
[-]KOL, D6 & D7: a reason found why Delphi 6 and 7 debugger was showing break points incorrectly. KOL.PAS changed to provide both #13 and #10 characters at the end of each line of code.
[-]KOL: Double2Str function fixed, Extended2Str function added. These may be not so optimized, and not so smart, but at least with no previous bugs. ANY SUGGESTIONS HOW TO IMPROVE IT AND MAKE SMALLER ARE WELCOME. Now it works very like to VCL's FloatToStr.
[-]MCK, D6 & D7: create / jump to the best event handler fixed.
[+]MCK: create / jump to the best event improved with design-time method BestEventName, which returns the most appropriate event name to create / jump to by double click on the form in design mode. For most of mirror components, BestEventName now defined (OnTimer for TKOLTimer, OnPaint for TKOLPaintBox, OnChange for TKOLEditBox, TKOLMemo, TKOLRichEdit, etc.).
[-]MCK: since new ptWYSIWIG paint type leads sometimes to crash Delphi, all the correspondent code bounded into {$IFDEF _KOLCtrlWrapper_}...{$ENDIF}.

Other news:

[+]DfmUn2An application by Alexander Bartov added. It converts Delphi dfm-file from Unicode to ANSI to provide backward compatibility of projects created in Delphi6 and 7 with older Delphi5, which can not recognize Unicode strings correctly. See it in new section: Developer Tools.

[*]Int64 type defined in KOL.PAS renamed to I64, to allow more easy use of Int64 introduced in Delphi5. KOL_ERR archive updated (references to Int64 are renamed to I64 in kolMath.pas).


News from 30-Jan-2003

KOL and MCK news (v1.64):

[-]KOL, D2 & D3: Compatibility restored. Thanks to Sergey V. Gershovich.
[-]MCK: new WYSIWIG painting fixed and made again as default mode. Thanks to Yury Sidorov.
[-]MCK: TextAlign property assignment fixed for TKOLMemo. Thanks to Alexander.
[+]KOL: TStrListEx.IndexOfObj method added.

Other news:

[+]SysDCU replacement for Delphi7 available - by Alexander Bartov. See a link in System section.
[*]Updater and UpdateMaker 3.1 are available. Though these both are fully compatible with version 3.0, they adds some useful service (version hint, re-update without renaming .old-files). See in Tools.


News from 9-Feb-2003

KOL and MCK news (v1.65):

[+]KOL/MCK: MHTooltips support added - by Dmitry Zharov. To use property Hint for controls, you should turn on compiler option USE_MHTooltip (in the project, not in the MCK package) and also download his unit, which extends KOL controls with showing tooltips capability.
[+]KOL: method  TControl.SetAutoPopupMenu improved by Alexander Pravdin. Now it allows to use other menu submenus (e.g. main menu submenu) as a popup menu for a control, to avoid duplicating of the code.
[-]MCK: assignment of Tag property for a menu item fixed. Thanks to Brazos Donaho for a notice.
[-]KOL/MCK: AllBtnReturnClick property/method fixed (1st, did not work without Applet, 2nd, a button was pressed again after returning from a dialog, closed pressing ENTER/ESCAPE). Thanks to the KOL community for a bug report.
[-]KOL: DefaultBtn property fixed (Applet.OnMessage was lost when assigned). Thanks to Yury Sidorov for a fix.
[-]KOL: bitbtn property Checked with
tboFixed style fixed: now its Checked state is changed to a value assigned, but not just inverted when assigned as earlier.
[-]KOL: TControl.TVSort fixed (root items itselves were not sorted). Thanks to Yury Sidorov for a fix.
[-]KOL: function Time2StrFmt fixed (did not work for case of day part = 0). Thanks to KreZ0n and Dmitry Zharov aka Gandalf.
[-]KOL: toolbar changes:

[+]MCK: a lot of changes by Yury Sidorov:

Other news:

[*]KOLOLEDB: small changes to use I64 type instead of old INT64, which is different from new Delphi INT64 type.
[+]new application KOLmiditest
(FWS) by Thaddy de Koning available in Applications.


News from 10-Feb-2003

KOL and MCK news (v1.66):

[-]KOL/MCK: compatibility with Delphi2 and Delphi3 restored.
[-]MCK: property TKOLImageList.Colors fixed (error with incompatible types TImageListColors and TKOLImgListColors).
[-]MCK: TKOLToolbar events assigning fixed (problems with separators).
[+]MCK: TKOLToolbar - properties ImageListNormal, ImageListDisabled, ImageListHot added.


News from 11-Feb-2003

KOL and MCK news (v1.67):

[-]KOL/MCK: more fixes with toolbar.
[-]KOL: some changes in TMenu implementation to fix it under WindowsNT/95. Thanks to Brazos Donaho.
[-]KOL: DefaultBtn small fix. Thanks to Yury Sidorov.
[-]KOL: OnEndEditLVItem asm-version fixed. Thanks to SerB (Sergey Bachmatov?).


News from 16-Feb-2003

KOL and MCK news (v1.68):

[*]KOL: in NewFileStream, method WriteFileStream used in place of WriteFileStreamEOF, to prevent writing EOF marker after each Write operation (your code should write EOF itself). By suggestion of Alexey Shuvalov.
[+]KOL: function GetFileListStr added - by Andrzej Kubaszek. A method TDirList.FileList added also.
[-]KOL: TControl.Destroy code returned from v1.63 (in version 1.64, incorrect chages were made there. In result, there were problems with modal forms without
Applet used). Thanks to Dimaxx.
[+]KOL: TControl.ShowModal improved. Now it works better in applications without a separate
Applet used.
[-]MCK: TKOLForm.CanResize, HasBorder properties storing fixed.
[-]KOL: menu fixed for NT.
[-]MCK: Hint assigning generating fixed for Delphi6, 7.
[-]MCK: Font at design time fixed.

Other news:

[+]AutoWar game added in Applications.


News from 21-Feb-2003

KOL and MCK news (v1.69):

[-]MCK: design-time fonts fixed. Thanks to Yury Sidorov.
[-]MCK: design-time toolbar icons fixed for case when both standard and custom images used.
[-]KOL/MCK: run-time listview column icons fixed. A capability added to place icon right from a text in list view column header (just setting its width to a negative value at run-time, or setting property LVColRightImg to true at design-time).
[+]KOL: functions StrSaveToFile, StrLoadFromFile added.
[*]KOL: changes in TStream: all members moved from private section to protected, property Data added to access fData field.

Other news:

[-]System.Dcu replacement for Delphi6 fixed working with input-output in console applications. See in System units section. Thanks to Vlad aka Freeman.
[+]KolIpcStreams package added by Thaddy de Koning. It implements Mailslots and Named and Abonymous Pipes as KOL TStream descendants, with Examples. See in Networking section.
[+]KolMD5 package added by Thaddy de Koning. Implements the MD5 message digest algorithm very cleanly, with demo. See in Math section.
[+]KolAppExpert200 package added by Thaddy de Koning. See in Tools section.


News from 11-Mar-2003

KOL and MCK news (v1.70):

[-]KOL: LabelEffect shadow color fixed. Thanks to Dimaxx.
[-]KOL: TMenu.ItemBitmap[ ] assignment fixed. Thanks to Andrzej Kubaszek.
[-]KOL/MCK: TGraphicTool.AssignHandle fixed - by Yury Sidorov. There were font resource leak if a handle was assigned to a control, which had not font assigned before.
[±]KOL: methods added: TCanvas.WTextOut, WExtTextOut, WDrawText, WTextRect which allow to draw Unicode text on canvas. Functions TCanvas.WTextHeight and WTextWidth fixed.
[***]MCK: all the event handlers are now assigned only after creating all the controls and objects on a form, in SetupLast method of mirror controls. This is not so only for menu, toolbar, and other similar OnClick-like events, which are assigned in NewXXXX statement itself and called mostly by the user. This change prevents calling all the event handlers while creating a form, when some of controls and objects could be not created yet. But please note, that some necessary events also will not be called in result, such as OnResize. So, call it by your code just after form creating (e.g., in OnFormCreate event handler). By a suggestion of Alexander Pravdin.
[*]MCK: generating of creating Applet, call of Run procedure removed for DLL project (library). By a suggestion of Alexander Pravdin.
[*]MCK: setting toolbar button caption to '-' does not set Separator property to true. By suggestion of Alex Egorov.
[*]MCK: small change made to provide project options
Conditionals=KOL_MCK and Aliases=Classes=;Controls=;StdCtrls=;ExtCtrls=;mirror= in case when files .cfg and .dof are deleted. By suggestion of Dmitry Zharov.
[-]KOL: a lot of fixes by Mike Gerasimov:

[*]KOL: CenterOnParent calls GetWindowHandle first, so in case when defaultSize is set for a form, it is centered on screen correctly.
[*]KOL: several methods are translated to BASM.
[*]KOL/MCK - changes in archive contents: copied to archive from, to allow compiling MCK projects without downloading and installing MCK, by a suggestion of centronix. TestKOL(n).dpr projects moved from to a separate archive, which can be found in Demos section. This version is uploaded in total archives, though upd-files are provided from version 1.69 and 1.60 as usual.

Other news:

[+]TKOLServerSocket and TKOLClientSocket adaptation of VCL components TServerSocket and TClientSocket added by Sapronov Alexey. See it in Networking section.
[*]Small changes in err.pas (in to prevent Delphi6 and Delphi7 from too many warnings like "deprecated", "platform specific" etc. See in Math section.


News from 8-Apr-2003

KOL and MCK news (v1.71):

[+]KOL: functions WText2Clipboard and Clipboard2WText added.
[-]KOL: event OnQueryEndSession fixed (setting
Accept = false did not prevent session from close or shutdown). Thanks to Boguslaw Brandys for a bug report.
[-]KOL: small fix of function GetWindowChild (incorrect call to non-existing finction
GetGUIThreadInfoA replaced with GetGUIThreadInfo), by Scam.
[-]KOL: method TControl.Size fixed for case when Applet used.
[*]KOL: method TMenu.SetInfo changed a bit to redraw form menu bar only in case when only a top level item is changed. By Yury Sidorov.
[-]KOL: fixed ShadowColor for label effect control. By Dimaxx.
[+]KOL: function FileTypeReg added by Dimaxx.
[-]KOL: function TList.Last asm-version fixed - by Roman Vorobets.

Other news:

[+]MultiClpbrd utility added. See in Applications section.
[*]DfmUn2An new version released - by Alexander Bartov. See in Tools section.
[+]new article about component writing for MCK added - by Yury Sidorov. See in Articles (Russian language only)
[+]SysUtils and Classes units replacement added by Yury Sidorov. See it in System section.
[+]KOLGDIPlus package added by Thaddy de Koning. See it in Graphics section.


News from 21-Apr-2003

KOL and MCK news (v1.72):

[-]MCK: function NeedFree did not used to decide if to genearate Add2AutoFree for created objects. Thanks to Boguslaw Brandys for a bug report.
[-]KOL: asm version of TThread.Destroy fixed to close Handle in case when AutoFree is set to true.
[-]KOL: RepeatInterval property fixed for bitbtn control (on a single click, was clicked twice).
[+]KOL: if conditional symbol ALL_BUTTONS_RESPOND_TO_ENTER is defined in project options, all buttons (and bitbuttons too) respond to ENTER as well to SPACE key, and unlike to property AllBtnReturnClick this does not affect Applet.OnMessage.
[-]KOL: OpenSaveDialog fixed for case of multiple files selection followed by single file selection. Thanks to Vadim Petrov.
[-]KOL: Aligning of controls fixed for initially invisible forms.
[-]KOL: list view column image index -1 fixed.

Other news:

[+]EmuZWin 2.0 application added (the emulator of the old machine Spectrum48/128 for Windows9x/ME/NT/2K/XP). See in Applications section.


News from 2-May-2003

KOL and MCK news (v1.73):

[-]KOL: TControl.Size fixed (for a form). Thanks to Ralf Junker.
[-]KOL: TControl.SetVisible no more checks current control visibility, this allows to change visibility of controls while its parent form is hidden. Thanks to Vladimir Piven.
[-]MCK: resource leak at design time fixed in TKOLCtrlWrapper - by Yury Sidorov.
[-]KOL: TControl.LVItemImgIdx now returns -1, when an image is not assigned to the item - by Andrzej Kubaszek.



News from 27-May-2003

KOL and MCK news (v1.74):

[+]MCK: TKOLLabel, TKOLPanel: property ShowAccelChar added.
[*]KOL: FileTypeReg changed a bit - by Dimaxx.
[*]KOL: TControl.SetBoundsRect changed to make it speedy - by Gem.
[-]KOL: TControl.LVGetItemImgIdx returns now -1 for case when an icon is not assigned - by Andrzej Kubaszek.
[*]MCK: before generating Applet.Visible := false; now Applet.GetWindowHandle; generated - to force creating Applet handle (problems were under XP, message by Vladimir Piven).
[*]KOL: FileTypeReg changed a bit - by Dimaxx. And fixed a bit (leak) - by Vladimir Kladov.
[*]KOL: property TControl.LVItemAtPosEx and type TMouseEventData changed to provide more reliable info about mouse position in list view item.
[-]MCK: icon at run-time fixed for bsDialog style (when icon is not used) - by Yury Sidorov.
[*]KOL: TCanvas.TextOut changed: there are no Move(X+TextWidth(text),Y) after drawing the text - by a suggestion of Alexey (Lecha2002). This fixes drawing on a Canvas under XP with themes turned on.
[*]KOL: functions SystemTime2DateTime and DateTime2StrShort changed a bit to output correctly difference between two times at the same date - by Vadim Petrov.

Other news:

[*]Applications: Autowar game updated - by Gurin A.V. Original version still available for download.
[*]Applications: EmuZWin 2.1 final release 3.0 available.
[+]Applications: Espejo added - graphic interface for net send command - by Fausino Lobo.
[+]Tools: KomponentScanner added - shows window info under cursor - by Fausino Lobo.
[+]Applications: Project_GT6 - an app to view/edit GT6 SYX files (keyword: guitar) added - by Ledzep2.


News from 5-Jun-2003

KOL and MCK news (v1.75):

[-]KOL: NewBitmap initial format setting fixed (was mono, now current desktop settings used).
[-]KOL: TControl.SetLVColText, TControl.GetLVColalign, TControl.SetLVColalign, TControl.GetLVColEx fixed for XP+themes - by Alexey (Lecho2002)
[-]KOL: TMenu.Insert fixed for case of separator inserted.
[+]KOL: TControl.ShowModalEx added, which disables all the windows in the current thread while showing the form modal rather then all children of the Applet.
[*]KOL: TControl.ClassName renamed to SubClassName.
[-]KOL: TControl.TBButtonsMaxWidth fixed (TBButtonsMinWidth was accessed instead).
[-]KOL: Int2Str fixed (minimal integer value -2147483648 = $80000000 was converted incorrectly).
[-]KOL: TControl.ShowModal fixed for some cases - by Sergey Shishmintzev.

Other news:

[+]Most important: KOL2FPC utility added, which creates file \FPC\KOL.PAS, compatible with Free Pascal Compiler. Using it, it is possible to migrate KOL/MCK projects to compile it by Free Pascal Compiler, though only for Win32 yet. See it in Tools section.

[+]Updates: Retro-updates from current base KOL/MCK version 1.70 to previous 1.60, 1.59, etc. published.
[-]Graphics: PNG package updated (fixed saving of images with a palette used - 8bpp or less).


News from 7-Jun-2003

KOL and MCK news (v1.76):

[+]MCK: FPC-compatible code generated now ({$IFDEF KOLCLASSES} conditional directive used).
[-]KOL: some fixes - by Alexander Bartov and mdw.

Other news:

[+]Applications: Tik-Tac-Toe application added - by kP^.
[-]ActiveX: ActiveKOL updated (problem fixed with ClassName, which is renamed to SubClassname).


News from 13-Jun-2003

KOL and MCK news (v1.77):

[-]KOL: WndProcShowModal asm-version fixed, thanks to BelchonokH.
[-]KOL: Aligning of labels fixed, thanks to Sergey Shishmintzev.
[-]KOL: function DummySetSize, DummyReadWrite, DummyStreamProc moved to interface part, by suggestion of Ralf Junker.

Other news:

[+]Tools: Another version of xHelpGen, xHelpGenCm available, by Alexander Bartov.
[*]Tools: GotoFPC package updated, converting MCK projects to FPC-compatible fixed, and instructions added to compile MCK projects using Free Pascal Compiler.


News from 27-Jun-2003

KOL and MCK news (v1.78):

[+]KOL: method TControl.LVSubItemRect added.
[-]KOL: method TControl.GetStatusText fixed, thanks to Babenko Alexey.
[*]KOL: object TMediaPlayer moved to a separate unit KOLMediaPlayer, reference to MMSystem removed from KOL.PAS. KOLMediaPlayer is available to download in a separate archive (see Components)
[±]KOL: function SaveIcons2StreamEx added. It allows storing icons exactly in the format specified (including True Color 24 or 32 bit). In respond to request of Dimaxx.
[+]KOL: function NewCheckBox3State added
. MCK: property Auto3State added for TKOLCheckBox (if true, function NewCheckBox3State used to create the control). Thank to Dimaxx.
[+]KOL: property TCanvas.Pixels[ X, Y ] added

Other news:

[*]Demos: DemoVCLtoKOLdll updated.


News from 2-Jul-2003

KOL and MCK news (v1.79):

[+]KOL: function StrLoadFromFile fixed by Yuri(zhog), thanks also to Dark Knight.
[-]KOL: functions SaveIcons2Stream, SaveIcons2StreamEx changed a bit to become compatible with Free Pascal. Thanks to kP^ for a report about such incompatibility.
[*]KOL: definition of function SetSizeFileStream copied to interface part.
[-]MCK: generating tooltips assignment for TKOLToolbar fixed by Maxim Pushkar, there were: stop MCK working normally after some manipulations with toolbar buttons.
[-]KOL: TBitmap.LoadFromStream fixed for some versions of bitmaps (15bpp).


News from 19-Jul-2003

KOL and MCK news (v1.80):

[-]KOL: methods TControl.ShowModal, ShowModalEx fixed by Alexander Pravdin. Now caller form is focused OK after closing modal one even when separate Applet object is not present.
[-]KOL/MCK: incompatibility with Delphi2/Delphi3 fixed.
[-]KOL: InitCommonControls is called in setting up OnMouseEnter, OnMouseLeave, This fixes mouse leave event handling in case when there are no common controls used in the application. Thank to Dmitry Zharov for a bug report.
[*]KOL: most private fields in all the objects are moved to protected sections.
[-]MCK: code generation fixed for a toolbar without buttons, thanks to Dimaxx.
[*]MCK: code generation changed a bit for assigning virtual key names (property TMenu.accelerator), by Maxim Pushkar.
[-]KOL: assertion condition fixed in TBitmap.LoadFromStreamEx, thanks Maxim Pushkar.
[+]KOL: methods added SetButtonIcon and SetButtonBitmap, which allows to create button, displaying image (though without text). MCK: TKOLBitButton.image property added.

Other news:

[*]Math,Exceptions,Compression: KOLZLib updated to ZLib v1.1.4 - by Dimaxx.
[+]Math,Exceptions,Compression: KOLUnZip added, which does not require any external DLL - by Dimaxx.
[+]Components: a lot of new stuff from Thaddy de KoningKOLMIDI (MidiIn and MidiOut components), KolFFTreal (Fast Fourier Transform object), KolASIO (audio streaming drivers to use with KOL), KOLXML (XML generator). Thanks!
[*]Tools: KOLDiffer by Alexander Shakhaylo improved a lot and now more intelligent.
[*]Applications: new release of EmuzWin2.1 available.
[*]FAQ: small changes in answers (normal minimization if Applet used, and about proxies unit).


[*]VCL: new release of TNormalReport available.


News from 30-Jul-2003

KOL and MCK news (v1.81):

[-]KOL: functions FileIconSystemIdx, FileIconSysIdxOffline icon resource possible leak fixed by Babenko Alexey.
[-]KOL: method TControl.ShowModalEx incorrectly disabled combobox list view on the modal form itself, fixed. Thank to Babenko Alexey for a bug report and to mdw for a way to solve this.
[-]KOL: method TWStrList.MergeFromStream and all other loading methods for TWStrList and TWStrListEx are fixed.
[+]KOL: methods TTree.IsParentOfNode, TTree.IndexOf, TWStrList.AddObject, TWStrList.InsertObject, TWStrList.IndexOfObj added.
[+]KOL: methods TControl.SetUnicode, TControl.TVInsertW, property TControl.TVItemTextW[ ] and conditional symbol UNICODE_CTRLS added. Also TControl.LVColAddW, LVColTextW, LVItemAddW, LVItemInsertW, LVItemTextW, LVIndexOfW, LVSearchForW, LVItemsW, OnLVDataW methods, events and properties added (but not tested). So, list viw and tree view controls could be UNICODE now, and correspondent design-time property Unicode added to its MCK mirrors TKOLListView and TKOLTreeView.
[+]KOL: functions WAnsiUpperCase, WAnsiLowerCase, IndexOfWideCharsMin, WParse, WAnsiEq, WStrIn, StrRepeat, WStrRepeat added.

Other news:

[*]Applications: new version of Bars available (just recompiled with new version of KOL, so problem with incorrect loading icons and converting it to black&white seems fixed).
[*]Applications: new version of GrabScreen available. It can now copy image to Clipboard (always or on each saving). And settings are saved in the Registry.
[*]Components: KOLDriver and KOLAudioStreamDemo new packages available by Thaddy de Koning.


News from 3-Aug-2003

KOL and MCK news (v1.82):

[-]MCK: compatibility with Delphi2 and Delphi3 restored.
[-]KOL: function StrIn asm version fixed.
[-]KOL: small fix with loading bitmap from a stream (a bug were found while using PasteFromClipboard method).
[+]KOL: procedure HtmlHelpCommand added, which is a wrapper to HtmlHelp API function. Also, a section of constants and data type definitions added for work with HtmlHelp, provided by Alexey Babenko.
[+]KOL: a method TControl.RE_TextSizePrecise added, by Savva

Other news:

[-]Mathematics, exceptions, compression: err.pas fixed (in to allow handling ON EXCEPT not only for exceptions raised in the custom code, but all others too. Also, mmx.pas fixed (all registers are now saved / restored correctly while calling CPUID instruction).
Mathematics, exceptions, compression: a link to DIUCL provided by Ralf Junker. DIUcl is the Delphi port of the UCL Compression Library, which lossless algorithm is used by the UPX Ultimate Packer for eXecutables. DIUcl contains a simple KOL file compressor and decompressor demo.
Tools: DClear simple utility added by Lutischan Ferenc.
Applications: new application Zoomer available for download (my own original algorithm of image magnification used).
Components: a unit RichPrint.pas added by Savva, which allows to print richedit content using either MHPrinters (by Dmitry Zharov) or Printers (by Boguslav Brandys) or event without TPrinter / TMHPrinter object.


News from 26-Aug-2003

KOL and MCK news (v1.83):

[-]KOL: compatibility with Free Pascal restored: declaration of the structure THHGlobalProperty containing a reference to VARIANT commented. Thanks to all who found this bug and write me about it.
[+]KOL: functions ShowQuestionEx, Int2Rome, cHex2Int added.
[-]KOL: small change in TMenu.SetVisible to prevent calling RedrawMenuBar when any submenu visibility changed, only when items of menu bar and main menu itself. Thanks to Alexey Babenko for a bug report.
[-]KOL: TControl.GetWindowHandle asm-version corrected to function exactly as pascal-version (SetVisible was called in asm-version, Set_Visible in Pascal). Thanks to Dmitry Zharov for a bug report.
[-]KOL: assigning Icon to a form fixed in case when Applet is not used. Thanks to Dmitry Zharov for a bug report.
[*]MCK: small change in TKOLProject.GetProjectName - by Alexander Shakhaylo.

Other news:

[+]Components: KOLMRBAdditions package added (three units: KOLMRBStrings, KOLSnapShot and KOLTitleMenu - by Mr Brdo.
Graphics: KOLTga object added - converted by Mr Brdo for KOL.
Tools: fpsmeter unit with functions to measure Frequency Per Second added by miek.
Components: KOLRARInfoBar, KOLRARProgress visual components added by Dimaxx.
Sound, video: KOLIOPlugin - WinAmp plugins extention translated by Dimaxx.


News from 31-Aug-2003

KOL and MCK news (v1.84):

[+]KOL: TMMTimer object added (multimedia timer object, inherited from KOL.TTimer, with additional properties Resolution and Periodic). MCK: new properties Multimedia, Resolution and Periodic added for TKOLTimer, so timer in MCK application can be easy turned to high-resolution multimedia timer.
[*]KOL: small change in ShowQuestionEx (call back is called before CreateWindow).
[*]MCK: small change in TKOLForm.GeneratePAS by Alexander Shakhaylo: nothing is doing if source file is not found on a disk.
[-]KOL: TBitmap.Canvas recreation fixed (method TBitmap.GetCanvas changed. Without this fix, Canvas for Bitmap could not work correctly after the first release of DC allocated). Thanks to Dmitry Zharov for a bug report.
[-]KOL: TBitmap.FlipVertical asm-version fixed. Thanks to CompKiller for a bug report.
[-]KOL: TIcon.LoadFrom... fixed for case of incorrect icons having bHeight = bWidth * 2 in icon description. Thanks to Brdo for a bug report.
[+]KOL: TControl.TC_IndexOf, TC_SearchFor methods added - by Mr Brdo.

Other news:

[+]Tools: MCKAppExpert added by Alexander Shakhaylo.
Sound, video: MPEGPlay application added which need not any codecs installed on the PC and plays MP3 files itself, with all sources, absolutely free - by Thaddy de Koning.
Applications: Wallpaper changer application added - by CompKiller.
Active-X: KOLWebBrowser object (with miror) added - by Dimaxx.
Components: KOLMRBAdditions archive updated - by Mr Brdo.


News from 5-Oct-2003

KOL and MCK news (v1.85):

[-]KOL: TList.DeleteRange fixed for case when MaxInt passed as a second parameter (count items to delete).
[-]KOL: TBitmap.FormatChanged memory leak fixed (asm-version). Thanks to miek for a bug report.
[*]KOL: calling context help on WM_CONTEXTMENU enclosed in parethesis {$IFDEF AUTO_CONTEXT_HELP} ... {$ENDIF} to allow working with context popup menu if such symbol is not defined. Thanks to Babenko Alexey.
[+]KOL: when symbol ESC_CLOSE_DIALOGS defined, all dialog forms (with style fbsDialog, MCK) are closed by ESCAPE key. Code by Babenko Alexey.
[*]KOL: declaration of WndProcBtnReturnClick done in interface section of KOL.PAS, by suggestion of Babenko Alexey.
[+]KOL: TAction and TActionList added, by Yury Sidorov. KOL: mirrors TKOLAction and TKOLActionList added, by Yury Sidorov.
[+]KOL: RegisterIdleHandler and UnRegisterIdleHandler added, by Yury Sidorov.
[-]KOL: cursor setting fixed for rich edit control, by Yury Sidorov.
[-]KOL: TBGetButtonText fixed for case of emty toolbar button caption, by Yury Sidorov.

Other news:

[+]Graphics: KOLGraphics package added - by Dimaxx. Supports reading a lot of graphic formats (including tiff, psd, eps, png, pcx and many others).
Components: KOLFontEditor package added (allows to select font in MCK controls easily) - by Alexander Pravdin.
Active-X: KOLAgent, KOLFlush, KOLPDF, KOLCDWriter objects with mirrors (created using TLB2KOL) added - by Dimaxx.
Sound: KOLMP3 package with Pico-player application updated  (MP3 player, which does not use codecs, installed on PC, with all sources) - by Thaddy de Koning.
Applications: Boltuha added (intranet chat, does not require server, works through IPX), by BelhonokH.
Demos: ActionsDemo added, by Yury Sidorov.
Tools: DiffLines added (visual text files comparison, can compare huge files, up to 4 Gbytes), by Vladimir Kladov.


News from 3-Nov-2003

KOL and MCK news (v1.86):

[-]KOL: for D3, clearing bitmap fixed for BitBtn in design-time. Thanks to RA.
[-]KOL: loading bitmaps fixed with some kinds of incorretness in header (not all the palette used, and image is started earlier then it is defined by the offset).
[+]KOL: NewExMemoryStream function added to allow creating memory stream on base of existing memory block.
[*]KOL: GetSizeFileStream function (implementing getting TStream.Size property) now returns 0, if an error occur (in earlier versions -1 was returned, which could be incorrectly interpreted as dword value $FFFFFFFF).
[+]KOL: DeleteFiles function added to allow deleting files by wildcards mask.
[-]KOL: TControl.WndProc - small fix in keyboard handling (pas version, asm was OK) to prevent system beep in most cases when a message is lost because on window focus change while handling WM_KEYDOWN / WM_SYSKEYDOWN message.
[-]KOL: a fix: TControl.OnClose now called as it should also in case when the Applet is closed using pop-up menu item 'Exit' of the taskbar application button. Thanks to IceStudent for a bug report.
[*]MCK: TKOLButton: resource name generated for an icon is started from 'Z' to prevent using it as an image representing the executable in explorer.

Other news:

[-]System: System.dcu replacement for Delphi6 updated.
Tools: DiffLines updated, by Vladimir Kladov.
Sound: Kol32Audio package added with some stuff from Thaddy de Koning
[+]Graphics: KoljanFX package added with 80 imaging effects from Dimaxx.
Applications: Zoomer updated, Zoomer2 added.
Other: some non-KOL-related stuff (ZX Spectrum emulators written in assembler and C-- Sphynx, METAL language for Z80, other) added by me.


News from 13-Dec-2003

KOL and MCK news (v1.87):


[+]KOL: Kylix / Linux compatibility started. With changes provided by Dmitry Zharov aka Gandalf, KOL project now can be compiled with Kylix and run under Linux. Additional files necessary to compile with Kylix are provided in a separate archive: on the Tools page. This work is only starting but soon we seems could be able to port our Delphi apps made with KOL/MCK to Linux platform.

KOL: TControl.EnableChildren( Enable, Recursive: Boolean ) method added.
[+]KOL: function RectsIntersected added.
[+]KOL: property TControl.RE_FmtBackColor added.
[-]MCK: Delphi IDE freezing fixed which could occur sometimes while editing TabOrder of KOL controls.
[-]MCK: small fix in TKOLFont.Change: sometimes ParentFont became False incorrectly - by Yuri Sidorov
[*]MCK: property TKOLToolbar.FixFlatXP added: this changes some styles for Toolbar with
tboFlat in Options while running under XP.
[+]KOL: with a symbol OpenSaveDialog_Extended added to proct options, TOpenSaveDialog allows custom extentions for the dialog using new fields HookProc and TemplateName.
[-]KOL: TMMTimer.Enabled fixed.
[-]KOL: a fix in TControl.ShowModalEx.
[-]KOL: a fix in MDI behaviour - by Thaddy de Koning.
[-]KOL: a fix in loosing CurIndex value of a combobox while changing its Items[ ] value - by Andrzey Kubasek. Since this fix is not absolutely necessary, a conditional symbol NOT_FIX_CURINDEX is available to allow make code a bit smaller omitting this fix.
[-]KOL: a fix in TControl.Destroy asm version - by Yuri Sidorov.
[-]MCK: a fix in TKOLAction with deleting menu items and toolbar buttons with action assigned - by Yuri Sidorov.
[-]MCK: constant array VirtKeys: fixed code for '1' - by Yuri Sidorov.
[-]KOL: a fix in TCanvas.FillRgn asm version. Thanks to Babenko Alexey for a bug report. Also, TCanvas.FillRgn and TCanvas.FillRect changed a bit to use Brush of the owner control if it is available and own Canvas.Brush is not created.
[+]MCK: it is now possible to use #nnn as Icon to indicate that resource ID number nnn should be loaded as form icon. By Alexander Pravdin.
[+]KOL: a property TStrList.Names[ ] added, by Alexander Pravdin.
[+]KOL: a method TControl.ShowModalParented added, by Alexander Pravdin.
[+]KOL: with new conditional symbol NEW_MODAL, some code is changed for modal form showing, by Alexander Pravdin (method SetModalResult added, WM_CLOSE handling in TControl.WndProc extended a bit).
[+]KOL: all the conditional symbols which could affect KOL.PAS code are collected and commented near the start of the KOL.PAS, to find and use those easier.

Other news:

[-]news script fixed on the site, now button 'More' works correctly in IE6 browser too. Big thanks to Alexander Pravdin aka Speller for a help!
[-]last update KOL Web site (this) achieved 20Mbytes quota. To prevent achieving the next quota (30Mbytes) too soon, I will refuse from placing here large archives (mainly with executables only) except these are really useful for KOL programmers (like libraries, tools, sources, components, etc.). Applications are still acceptable but only as links to downloadable archives and Web Pages only.
tdkFaderControl added - by Thaddy de Koning, see it in Graphics section.
[+]KOLNetworkInfo application added - by Thaddy de Koning, see it in Applications section.
[*]EmuZWin v 2.3 application relased - by Vladimir Kladov, in Applications section.
[+]demo application DemoRichEdit added, see it in Demos section.


News from 21-Dec-2003

KOL and MCK news (v1.88):

[*]Kylix / Linux compatibility continued, by Dmitry Zharov aka Gandalf.
[*]Free Pascal compatibility fixed (problem with TAction fixed, version 1.0.10 compatibility checked).

KOL: a fix in PASCAL_VERSION: could not compile.
[-]KOL: a fix in loosing ItemData[ ] value for combobox, listbox while changing its Items[ ] value, also can be turned off with symbol NOT_FIX_CURINDEX. Thanks to Martin Larsen for a note.
[-]KOL: a fix in turning menu item radio check to check mark under NT4 while changing TMenu.ItemText[ ] property. Thanks to Ralf Junker for a bug report.
[+]KOL: property TMenu.RadioGroup can be accessed for write now. Thanks to Ralf Junker.
[-]KOL: a fix in Editbox with TabStop=false (cared could not be shown). Thanks to Vladimir Piven for a bug report.

Other news:

[*]GotoFPC archive with units, test projects and instruction necessary to compile KOL/MCK projects under Free Pascal updated.
[*]kol2_kylix_linux archive with includes necessary to compile KOL/MCK under kylix (not finished yet though) updated, by Dmitry Zharov aka Gandalf.
[*]ppDelphi archive with additional units necessary to compile KOL/MCK projects under Free Pascal updated.
[+]CRT4KOL unit added, to use in console mode (Win32 only now). Later can be used to convert GUI application to text-mode application with windows drawn using text only.
See all additions in the Tools section.


News from 25-Dec-2003

KOL and MCK news (v1.89):

[*]Kylix / Linux compatibility continued, by Dmitry Zharov aka Gandalf.

KOL: a method TStream.ReadStr added.
[*]KOL: some changes in code to make it convertable using new GlueCut utility.

Other news:

[*]GlueCut utility added to replace old KOL2FPC utility. It allows more wide range of patches and conversions under the same source file on base of external command files, which could be different for each generated output version (FPC, Kylix, PAS-only, etc.)
[*]kol2_kylix_linux archive with includes necessary to compile KOL/MCK under kylix (not finished yet though but entire set of functions to work with files and simple objects are working already) updated, by Dmitry Zharov aka Gandalf.
See all those archives in Tools section.


News from 21-Jan-2004

KOL and MCK news (v1.90):

[*]Kylix / Linux compatibility continued, by Dmitry Zharov aka Gandalf.

KOL: small change in TBitmap.FlipVertical asm version to force fScanLine to initialize before using it.
[+]KOL: TBitmap.Invert added.

Other news:

[+]Icon2Folder application added, see in applications.
[+]HtmlImgMap application added, see in applications.
[*]kol2_kylix_linux archive with files needed to convert KOL.pas to a version compatible with Kylix/FPC to compile under and for Linux/QT updated, by Dmitry Zharov aka Gandalf. See it in Tools section.


News from 23-Feb-2004

KOL and MCK news (v1.91):

[*]FPC compatibility restored, see new version of GlueCut utility in Tools section.

KOL: TMenu.CurCtl property added, by Alexander Pravdin.
[*]KOL: function WinVer now returns wvLongHorn under correspondent Windows version.
[*]MCK: TKOLAccelerator.AsText changed a bit to return full names for keys Delete, Help and Escape (e.g. show in accelerator property for menu). Also, a problem with showing shortcut fixed by Alexander Robotahoff aka RA.
[-]MCK: TKOLToolbar: problem with assigning tooltips set via property Tooltip of a button, after separators, fixed.
[*]KOL/MCK: KOL.TTrayIcon/MCK.TKOLTrayIcon.OnMouse event type changed to refer to PObj rather then to TObject in the Sender parameter. In your applications, you should answer "yes" to remove a reference to existing event handler, then grab (Ctrl+X) its body, create another event handler (double-click event field in the Object Inspector as usual) and paste old body there. Do not forget to remove the old event handler making its body empty and saving a project. Sorry for inconvenience.

Other news:

[*]Site desing totally changed. Now it is possible to list Applications and Components sorted by different categories (Author, Name, Date, Size, etc.). Links to some additional components are added, from Web-site.
[+]SmoothDIB package with SmoothDIB.pas containing TSmoothDIB object added. It provides additional property PenWidth: Double and additional method DrawLine( x1, y1, x2, y2: Double ); which both allow drawing lines smooth (anti-aliased) on DIB bitmap (pf15bit, pf24bit, pf32bit). See it in Adds section, in Graphics category.
[+]Round_Watch application added (, multilanguage, round face clock + tray icons clock, sizeable, colored, transparent, with plugins support (plugins Wnd_Mover, Wnd_Trayer and StopWatcher are already in the package). See it in Apps section.


News from 30-Jul-2004

KOL and MCK news (v1.92):

[-]KOL: TControl.CanResize property fixed, by Dmitry Zharov aka Gandalf.
[+]KOL: TStream.WriteStrPas and ReadStrPas functions added, by Dmitry Zharov aka Gandalf.
[*]KOL: function FileTypeReg moved to Lnk.pas, and two functions added there: FileTypeRegEx and FileTypeGetReg.
[-]MCK: TKOLObj.CreationPriority property added, to provide correct objects creation order (TKOLMenu objects must be created before TKOLTrayIcon, which can use TKOLPopupMenu).
[+]KOL: function iSqrt added, to calculate square root nearest integer value using integer operations only.
[-]KOL: destructor of TThread fixed, by Dmitry Zharov aka Gandalf.
[-]KOL: pascal version of function DelimiterLast fixed, by Viman.
[+]KOL: function StrCat added.
[-]KOL: comment to StrScanLen corrected.
[-]KOL: function _StrSatisfy fixed.
[-]KOL: Toolbar.TBButtonText[ ] property fixed and can now work with button index as well with button ID (like other toolbar properties). Thanks to Boris for a report.
[+]MCK: VCL components can now be ignored on KOL form - by Alexander Rabotyagov
[*]KOL: function TControl.SetSize improved a bit: now Width and Height are changed at the same time via a single call to SetBoundsRect
[-]KOL: function FindIdleHandler fixed, by Maxim Pushkar.
[-]KOL: function RegisterIdleHandler fixed. 
[-]KOL: method TAction.Destroy fixed. 
[-]KOL: small change in TMenu.Destroy: possible leak of bitmap resource fixed. 
[-]KOL: method TMenu.RadioCheckItem fixed. 
[+]KOL: method TControl.TVSort fixed (now it allows to sort entire tree correctly). By Yury Sidorov
[*]KOL: function WinVer now works faster (version quired only once, and on all following calls the value prepared on first call is returned).

Other news:

[*]Lnk package updated.
[*]DemoTrayIcon, DemoTrayOnly updated.
[*]Several apps added in Applications section.


News from 23-Aug-2004

KOL and MCK news (v1.93):

[-]KOL: function TrimRight (asm-version) fixed (for a string containing only spaces, ' ' was returned, not ''). Thanks to Andrey Timofeev.
[-]MCK: function TKOLToolbar.SetupFirst fixed (assigning ambigous hints ('_') for toolbar separators removed). By Yury Sidorov.
[-]KOL: function WndProcQueryEndSession fixed to use Accept flag set in this handler to control if to allow further session ending. By Yury Sidorov.
[-]KOL: function RegKeyGetStrEx fixed, by grumbler.
[-]KOL: functions RegisterIdleHandler, UnRegisterIdleHandler and ProcessIdleProc fixed, by Yury Sidorov.
[-]KOL: function Str2DateTimeFmt fixed for case of incorrect parameter, by ECM.
[+]KOL: function Str2DateTimeShortEx added, by ECM.
[-]KOL/xHelpGen: fixes in comments to provide more correct html content generated by xHelpGen. Thanks to Igor.
[+]KOL: function GetAcceleratorText added. It is used in TAction (in a property Shortcut). By Yury Sidorov.
[+]KOL: functions Mem2File and File2Mem added.
[*]KOL: TList optimized a bit for add/insert items faster if AddBy property is not assigned (default now).
[+]KOL: property TStrList.NameDelimiter and global variable DefaultNameDelimiter added.

Other news:

[*]KOLEDB updated, by ECM.
[+]A link added to KOLIB Library , by ECM - to work with Interbase. See in Additions, in category Database.


News from 5-Sep-2004

KOL and MCK news (v1.94):

[-]KOL: function TrimRight (asm-version) fixed again.
[-]KOL: function StrSatisfy fixed (asm-version) for case of empty strings passed in parameters.
[+]KOL: function Str2DateTimeShortEx added, by ECM. (This time it is declared in the interface part of KOL.pas)
[-]KOL: function TIniFile.SectionData fixed, by ECM.
[*]KOL: function TBitmap.Invert optimized, by Dimaxx.
[-]KOL: function WM_CONTEXTMENU handler fixed and now when special Windows key pressed, popup menu shown at the right place on screen.
[*]KOL: a lot of changes by Alexander Pravdin:

[-]MCK: for TKOLToolbar, generating code fixed (empty strings are added as tooltips for separators, otherwise tooltips were shown incorrectly in a case when button captions are used as tooltips).

Other news:

[*]KOLGraphic library updated, by Dimaxx.
[*]updater+updatemaker archive updated: a unit UpdatesUnit added there, with functions MakeUpdates and ApplyUpdates, which can be used to create/use a patch file for a certain pair of two verions of the same file (or stream).


News from 12-Sep-2004

KOL and MCK news (v1.95):

[+]KOL: constant NAN (floating 0/0 number) and function IsNAN added.
[+]KOL/MCK: function NewDateTimePicker, property TControl.DateTime, etc. added. In the MCK, TKOLDateTimePicker mirror control also provided.
[*]MCK: generating code a bit improved: some small timeout used now before applying changes, so all the changes were made for a short time are applyed together and once rather then multiple times (this speeds up, e.g., opening at design time forms with a lot of controls on it). Also, code generated only for a form unit which actually been changed, rather then for all opened.
[*]MCK: property TKOLProject.sourcePath now not changed automatically while the directry exists (but can be changed manually); property TKOLForm.UnitSourcePath added, which stores path from KOLProject.sourcePath whenever KOLProject is available (when the main form is shown in the designer). Now TKOLForm.UnitSourcePath used to decide where to place units generated rather then KOLProject searched every time. This means that generated units never more should be saved in another directory then a project directory (this could occur if two projects are opened at the same time, or a package with MCK project, for instance). But when you re-open your existing projects first time after upgrading to 1.95, first show the main form, and ensure that TKOLProject.sourcePath is set to correct path.
[*]MCK: generating code for property TKOLProgressBar.ProgressBkColor removed (since it is the same as Color), thanks to ECM.
[*]KOL: method TControl.SetParent changed: it now calls also Windows.SetParent if necessary. MCK: conditional symbol INPACKAGE must be added to MCK package Options, to provide correct working at design-time.
[+]KOL: functions DateTime_System2Local and DateTime_Local2Systtem added.
[+]KOL: an event TDirList.OnItem added.

Do not forget to rebuild all other MCK-based packages installed in Delphi! (Thanks to Yuri Sidorov for an advice! Otherwise problems are possible: Delphi will work unstable and crash).

Other news:

[*] updated: a unit UpdatesUnit fixed and improved.
[+]File Guard application added (automatic backup utility).
[*]Round Watch application updated.


News from 3-Oct-2004

KOL and MCK news (v1.96):

[-]KOL: function TList.DeleteRange fixed (it works now correctly, when the first index to delete greater then or equal to Count).
[-]KOL: GetFileList function fixed, by Max Chirikov.
[-]KOL: functions TWStrList.SaveToStream, SetItems fixed. Thanks to Truf.
[-]KOL: functions Date2StrFmt, Time2StrFmt fixed for case of empty format string. Thanks to Vadim.
[-]KOL: asm-version of TControl.WndProc fixed in part of WM_CTLCOLORxxxx messages handling (an bug appeared in v1.95 in zipped archive). This affected setting Color property for panels, for example.
[-]KOL: asm-version of TControl.SetClsStyle fixed (assigning to property ClsStyle did not work in ASM-version).
[*]MCK: some small changes, in result MCK package works more stable together with other MCK packages installed.
[+]KOL/MCK: LVItemHeight property for list view control added, by ECM.
[+]KOL: function StrIsStartingFromNoCase added.
[*]KOL: Changes from Alexander Pravdin a.k.a. Speller:

Other news:

[*]KOL: library KOLjanFX updated, by Dimaxx.
[*]Bars, Multiclipbrd, GrabScreen application updated.
[*]GlueCut package (converting KOL to classes for compling it with Free Pascal/Kylix) - updated ( updated).


News from 12-Oct-2004

KOL and MCK news (v1.97):

[*]MCK: some more changes, in result MCK package works more stable.
[-]KOL: assembler CMOVxxx instructions used now only if conditional USE_CMOV defined. This made so, since there are some old Pentiums, which do not have such instruction.
[-]KOL: some fixes in processing menu items new way, when USE_MENU_CURCTL and NEW_MENU_ACCEL are defined. By Alexander Pravdin a.k.a. Speller.



News from 21-Oct-2004

KOL and MCK news (v1.98):

[*]KOL: method Invalidate is not called more in TControl.SetCaption for label controls.
[-]MCK: setting VerticalAlign for TKOLLabelEffect fixed.
[-]KOL: function WndProcMnemonics fixed for case when conditional symbol NEW_MENU_ACCELL turned on, by Alexander Pravdin a.k.a. Speller.
[+]KOL: methods TBits.SaveToStream, LoadFromStream, Range, AssignBits, Clear are added for TBits object.



News from 29-Oct-2004

KOL and MCK news (v1.99):

[*]KOL: TBits.LoadFromStream fixed, by miek.
[-]MCK: SetupColor in mirror.pas moved to SetupLast, so calling it while a control is created does not lead to Handle allocation for its window at least until SetupLast generated code is executed.
[-]MCK: code added to provide correct TextAlign for TKOLEditBox and TKOLMemo (if not taLeft set at design-time). By Alexander Pravdin a.k.a. Speller.
[+]MCK: property TBButtonWidth added for TKOLToolbar. If set at design-time, its value is used as default width value for all toolbar buttons (for this toolbar).

Other news:

[+]System DCU replacement added for Delphi 3, by Alexander Rabotahov a.k.a. RA.
[+]BIS image compression unit added, by miek.
[*]EmuZWin application updated, see in Apps.
[*]Hexapad application added, see in Tools.
[*]COLLAPSE project pre-alpha pre-release added, see in archive (83K, later a section will be added for this project on KOL Web-site). Sorry but all the comments and readme in Russian.


News from 15-Nov-2004

KOL and MCK news (v2.00):

[+]KOL: functions StrComp_NoCase, StrLComp_NoCase and method TStrList.IndexOf_NoCase added.
[-]KOL: method TBitmap.LoadFromStreamEx fixed for case of format pf16bit.
[+]KOL: with new symbol USE_DROPDOWNCOUNT another code added to handle drop down for combobox, by Alexander Pravdin a.k.a. Speller.

Other news:

[*]COLLAPSE project updated, see in archive (later a section will be added for this project on KOL Web-site). Sorry but all the comments and readme are in Russian.
[*]LC (Light Commander) project updated by Lutischan Ferenc, see in Apps section.
[*]Zoomer2, GrabScreen, MultiClpbrd, EmuZWin projects updated (some fixes, improvements), see in Apps section.
[+]PCAsm package added (with TPCAsm object, which can compile assembler source to memory), see in Adds/Utils section.


News from 19-Nov-2004

KOL and MCK news (v2.01):

[-]MCK: fixed for Delphi5 and below.
[-]KOL: redrawing of Label Effect fixed when its Caption is changed. Thanks to Tr"]f for a report.
[-]KOL: drawing Bit Btn with bboFixed option on fixed for case when Checked=true. Thanks to ECM.
[-]MCK: property OnChange provided for TKOLBitBtn mirror control (just forgot). Thanks to ECM.
[*]KOL: TBits.Bits[ ] property asm-version improved using machine instructions BT, BTS, BTR.

Other news:

[+]PCAsm updated, see in Adds/Utils section.


News from 4-Dec-2004

KOL and MCK news (v2.02):

[!]KOL: ShowModal behavior fixed: now click on any form not only shown modal activates the application if it is not active. Great thanks to Tr"]f for a fix!
[-]KOL: Assigning value to Caption (or Text) property of some controls (e.g. EditBox) at run-time fixed for case when DoubleBuffered used.
[*]KOL: In some functions working with files open flag faOpenAlways relaced with faCreateAlways. In some cases this only helps to overwrite existing file(s).

Other news:

[*]PCAsm updated, see in Adds/Utils section.
[+]FastStrList added, see in Adds/Utils section.


News from 19-Dec-2004

KOL and MCK news (v2.03):

[-]KOL: calling OnTVExpanding (asm-version) possible problem fixed. Thanks to Viman for a report and fix.
[+]KOL: Methods TControl.TBMoveBtn, TBConvertIdxArray2ID, TBButtonSeparator added. MCK: Property TKOLToolbar.generateVariables added. If set to true, variables are created rather then constants and TBConvertIdxArray2ID called automatically to assign IDs to these variables. This allows normal working with moved buttons, accessing it via generated names using ID's rather then indexes.
[+]KOL: Property TObj.Name and function FindObj are added, those are used in code only if conditional symbol USE_NAMES defined. MCK: for new KOL property Name, code generation added.
[*]KOL: function Abs removed from KOL. By an advance of Sergey Shishmintzev.
[-]KOL: When TOpenDirDialog.InitialPath property is set to disk label, trailing char '\' is provided since it is still removed for other cases. A fix by Sergey Shishmintzev.

Other news:

[-]PC-Asm updated (even faster working now).


News from 21-Dec-2004

KOL and MCK news (v2.04):

[-]KOL: reading property TControl.BoundsRect for MDIChild fixed. Thanks to Andrew for a report and fix.
[-]KOL: assigning property TBitmapl.Handle fixed for case when a handle of a large DIB bitmap assigned (earlier, this could cause for DIB data to be lost in result of further conversations, and black rectangle were assigned finally).
[-]KOL: in version 2.02, KOL.pas become big enough to stop Delphi debugger working normally with KOL.dcu (no possibilities to make a breakpoint, in case of attempt to "Trace into" KOL.pas code internal error caused, which was urecoverable, and Delphi IDE must be terminated from Task Manager - no else way). So, to fix this, TBits moved to a separate unit KOLadd.pas (and recently added TFastStrList also merged to it in this new unit). In future, please checki is adding new code (even optional, enclosed into {$IFDEF} {$ENDIF} and so on brackets) does not lead to exceeding this DCU limitation, or suggest other code movements.



News from 26-Dec-2004

KOL and MCK news (v2.05):

[-]KOL: setting property TControl.LVColImage to -1 fixed. Thanks to non for a fix.
[-]KOL: for case when USE_NAMES symbol is defined: components with empty name no more added to NamedObjectsList. Thanks to Dmitry Zharov a.k.a. Gandalf for a report.

Other news:

[+]KOLIndy - adaptation of some stuff from Indy networking components library for KOL by non added, see in Adds/Networking.
[+]dragnDrop - component by non added for drag something from KOL form to another application, see in Adds/Utilities.
[+]KolDirMon - component by non added to show directory content and update view when something is changed on disk, see in Adds/Controls.
[+]UMLI - component by non (without MCK mirror) to implement multi-language interface, see in Adds/Utilities.


News from 6-Mar-2005

KOL and MCK news (v2.06):

[*]KOL: function Int2Ths changed a bit to use global variable ThsSeparator. By a suggestion of Dmitry Zharov a.k.a. Gandalf. And, asm-version of this function fixed for case of negative argument.
[-]MCK: small typo fixed in property GenerateSeparatorConstants (when project will be reloaded, just agree to ignore all warnings).
[-]MCK: function TKOLDataModule.Result_Form fixed by ECM (incorrect code was generated for USE_NAMES: nil.Name := ...).
[+]MCK: property TKOLListBox.LBItemHeight added by ECM.
[-]KOL: function TStream.WriteStrEx fixed (now it returns actual number of bytes written).
[-]KOL: function NewGroupbox fixed (asm-version: size was assigning incorrectly). Also, some styles removed (WS_GROUP, WS_TABSTOP) and a (new) flag fIsGroupBox (protected) set to true.
[*]KOL: for TabControl, changing current tab no more focus it (still it can be changed from your code, not only by mouse click).
[*]KOL: method TControl.SetRadioChecked changed to prevent focusing it while it is called from a code rather then by mouse click.
[-]KOL: while collecting controls for tabulating (Tabulate) controls having tabulating children are excluded from tabulate sequence and no more tabulated itselves.
[-]KOL: AutoSize changed for WordWrap controls and in such case only Height is autosized.
[-]KOL: TBitmap.SetHandle fixed.
[+]KOL: method TList.AddItems and another constructing function added NewListInit added.
[*]KOL: objects TListEx, TWStrList, TWStrListEx, TMetafile, TDirChange, TCabFile, TAction, TActionList and functions WStrCopy, WStrCmp are moved to KOLadd.pas unit to keep size of KOL.pas below 65535 lines (otherwise Delphi debugger failed to work and even Delphi IDE crashes).
[+]KOL: method function TControl.MakeWordWrap added.
[*]KOL: method TControl.CreateWindow converted from procedure to function and returns boolean (true, if a window is created).
[+]KOL: a set of graphic controls added, constructing functions NewGraphLabel, NewWordWrapGraphLabel, NewGraphPaintBox, NewGraphCheckBox, NewGraphRadioBox, NewGraphButton, NewGraphEdit. MCK: property windowed added for TKOLLabel, TKOLCheckBox, TKOLRadioBox, TKOLEditBox, TKOLPaintBox. Also, property WordWrap added for TKOLCheckBox, TKOLRadioBox, TKOLButton, which has effect only for graphic controls (when windowed = false). With conditional symbol GRAPHCTL_XPSTYLES defined, graphic controls are drawn using current XP theme, and with symbol GRAPCTL_HOTTRACK, these are hot tracking (if GRAPHCTL_XPSTYLES defined too), and OnMouseEnter / OnMouseLeave events are functioning for graphic controls too.
  The view and behaviour of graphic controls is the same (or very similar) to the view and behaviour of its windowed prototypes. These actually can act like windowed analogue but never has window handle. This can economy user resources on forms having a lot of children and speed up working in such case. Also, graphic controls have some additional features such as OnPrePaint / OnPaint / OnPostPaint events, WordWrap working for most graphic controls.
[*]KOL: changing properties TControl.Enabled, Parent, BoundsRect call now Invalidate. This change is necessary for proper use of graphic controls.
[*]KOL: procedure TerminateExecution declared in the interface part of KOL.pas. This allows rewriting Run procedure changing something (e.g. adding a priority for some messages by peeking such messages first before others). 
[+]KOL: property KeyPreview added for a form by truf (conditional symbol KEY_PREVIEW must be in the project options). No special MCK property there, just form event OnKeyDown is fired before WM_KEYDOWN handling for a focused control.

Other news:

[*]DiffLines tool updated (working faster, fixed view for XP) and now provided with sources. See in Tools.


News from 7-Mar-2005

KOL and MCK news (v2.07):

[-]KOL/MCK: some fixes to install new version of KOL/MCK for earlier Delphi versions and Free Pascal.
[-]MCK: setting Caption and Cursor of Form changing it in the Object Inspector for form itself fixed, by ECM.
[-]KOL: WndFuncCombo fixed, by ECM.
[-]KOL: GetFileListStr fixed, by Sergey Sishmintzev.
[+]KOL: conditional compilation symbol PROVIDE_EXITCODE added, with which PostQuitMessage( value ) assigns the value to ExitCode global variable, by Sergey Sishmintzev.
[+]KOL: conditional compilation symbol INITFORMSIZE_FIXMENU added, with which initial form size is actually the same as defined at design time (MCK) even for forms having main menu bar.
[+]KOL: property TControl.Check3 added for checkboxes with style BS_AUTO3STATE, by Sergey Sishmintzev.
[+]KOL: property TControl.LVFocusItem added.
[+]KOL: new styles odEditBox and odNewDialogStyle are added for TOpenDirDialog, by Sergey Sishmintzev.
[*]KOL: function StrLoadFromFile can now read input from special file 'CON' (console redirection), code by Sergey Sishmintzev.
[+]MCK: property TKOLComboBox.CBItemHeight added, by ECM.
[+]KOL/MCK: if a flag TPM_RETURNCMD (MCK: option tpmReturnCmd) set in TMenu.PopUp call (MCK: in TKOLPopupMenu.Options), function PopUp returns item ID selected, by ECM.

Other news:

[-]UpdateMaker fixed (calculating checksum was wrong sometimes). See in Tools.


News from 13-Mar-2005

KOL and MCK news (v2.08):

[*]KOL: small changes in the procedures DrawFormattedText and DrawFormattedTextXP (better vertical and horizontal aligning, better text rectangle calculating).
[*]KOL: small change in drawing graphic EditBox.
[*]MCK: property Border made published for TKOLCheckBox and TKOLRadioBox (it is used for graphic check box and radiobox with WordWrap=true to place check/radio mark vertically).
[+]KOL: global variable added DoNotDrawGraphCtlsUsingXPStyles, initally = false.
[*]KOL: ButtonActions.aAutoSizeY initialized to 6 instead of 0, by suggestion of Sergey Sishmintzev (too thin buttons autosized otherwise).
[*]KOL: procedure AutoSizeProc fixed, thanks to ECM for a code and idea.
[+]KOL: procedure WndProc_ParentOfGraphicCtl changed a bit, to prevent for groupbox having graphic controls as childrent to become a buton when GRAPHCTL_XPSTYLES is on but manifest is not used. Drawing GroupBox having graphic control as children also fixed. Thanks to BelchonokH for bug reporting.
[-]KOL: WordWrap fixed for non-graphic (windowed) labels.

Other news:

[-]references to retro-updates fixed on the site.


News from 15-Jun-2005

KOL and MCK news (v2.09):

[*]MCK: console used when KOLProject.consoleOut set to true, fixed ('7' at the start of each line removed) and improved (colors used to emhase important messages, and closing Delphi when the cosole is closed now prevented - at least you are first confirmed if to do so).
[*]MCK: many changes to provide Pcode generating while KOL part of forms initialization is generated during the design-time. This does not affect any Pascal or assembler code, at least until Collapse technology is not used.
[*]MCK: small changes to allow recognize of signature comment when it is changed a bit (e.g. by auto-format program).
[-]KOL: still constant DFCS_TRANSPARENT is not declared in windows.pas of some Delphi versions, it is replaced in the code by its value to provide correct compiling in all Delphi versions.
[-]KOL: mehods TStrListEx.InsertObject and SetObject fixed (for case, when object list is initially empty, and value assigned or added in position <> 0).
[-]KOL/MCK: using Font with graphic controls fixed (Color did not changed, not all attributes were initialized in MCK).
[-]MCK: initialization of Color fixed.
[-]KOL: MMTimer fixed (crashed when Interval was changed, in asm-version).
[-]KOL: TBitmap.DIBPalEntries[ ] (reading property, asm-version) fixed.
[-]KOL: TMenu.Caption assigning fixed when Parent is not yet defined, by ECM.

Other news:

[+]KOLadd: method TBits.InstallBits added to reinitializy entire Bits set or part of it without reallocating memory (fast for multiple reuse of the same Bits object).
[+]SmoothDIB: methods TSmoothDib.DrawEllipseLine, DrawEllipseArcLine, DrawEllipseRotated, DrawEllipseRotatedArc, FloodFill (all are using antialiased drawing via DrawLine). Also, DrawLine fixed a bit.
[+]geometry and calendae units added. Some functions from KOL.pas are moved there, some new ones can be found in these units.
[+]MultiWav package (together with Salut object and sample) added.


News from 11-Jul-2005

KOL and MCK news (v2.10):

[-]MCK: some options were not generated for OpenDirDialog, fixed. Also, some changes made (having effect only when symbol NEW_OPEN_DIR_STYLE_EX is added to project options) which are fixing absurd tab order in the dialog of the new style (by default, buttons are in focus, though in my opinion the directory tree must be there).
[-]MCK: initial code for set radiobox checked was generated but had no effect still window was not created yet. Fixed. Thanks to Andrzei Kubasek for a bug report.
[-]KOL: reading RLE-encoded bitmaps fixed (TBitmap.LoadFromStreamEx). Also, LoadFromStreamEx now can properly read bitmaps with BITMAPCOREHEADER placed instead of BITMAPINFOHEADER structure. Loading bitmaps having truncated color table fixed for both LoadFromStream and LoadFromStreamEx methods.
[-]KOL: Consequence changes done in TIcon.LoadFromStream (256 color icons are loading correctly now). TIcon.LoadFromStream accepts now headless icons (as it were pointed into a single icon directory). It is possible now adding a symbol ICON_DIFF_WH into project options definitions, to work with icons having Width <> Height (Properties Width and Height appear for such symbol, and Size returned as max(Width,Height) so still can be used).
[+]KOL: Small changes in TStream implementation: for file streams, its method fRead is initialized via a constant by default initialized with ReadFile procedure. But it is possible now to change ReadFileProc constant (assign your own handler) and get some additional effects on it. Method TStream.SaveToFile( filename, from, size ) added.
[+]KOL: properties AnchorRight and AnchorBottom added, and function Anchor( right, bottom: boolean ) for TControl. MCK: properties AnchorRight, AnchorBottom published for TKOLCustomControl and work at design time too.
[*]KOL: object TTree moved to KOLadd.pas.
[*]KOL: small changes in LogFileOutput to make it understandable for Free Pascal (by Thaddy de Koning).
[*]KOL: small changes in JustOneNotify to make memproof utility slent about resource leakage.
[-]MCK: code fixed for Delphi2, 3 (no default parameters).

Other news:

[+]Zoomer version 3 application added: now it is a good alternative to other image viewing applications (supports bmp, dib, ico, cur, jpg, gif - now including animated, png, pcx, tga, tif, psd, wmf, emf, pbm, pgm, ppm, ani, icl) and very useful tool to view/grab graphic resources from executables including NE format of exe or dll.
[*]KOLJpeg updated (8 bits format reading fixed, and now it can work with obj files from Delphi7).
[*]KOLGif updated (now it can read GIF without knowing the size of GIF file a priory). Also, with symbol USE_KOLGRAPHIC another GIF LZW decoder is used from KOLGraphicEx package, and this helps to handle correctly very small set of gif-files (possibly coded incorrectly). And with symbol USE_ANIMATION object TGIF is derived not directly from TObj, but from TAnimation object (see Animation package).
[+]Animation package added. It contains TAnimation as an abstract object definition for derivatives like TGif. Also there is TAniIcon object also derived from TAnimation located there as a simple example for deriving animation object (it allows to place animated icons or cursors on form easy), and TAniShow which acts like TGifShow, but works with Animation: TAnimation property rather then with just GIF: TGif, so it is more universal animation control. See also Flic package.
[+]FLIC package added. It contains TFlic object, which allows to play FLIC-files (animation from the old AutoDesk Animator Pro).
[*]KOLGraphicEx updated (some fixes for TIFF). Also, with symbol NOCLASSES all the rest of classes are converted to objects (economy though is very small, on already big enough application).
[*]MultiWav package updated (some small fixes, some improvements).
[*]Lnk package updated (FileReg).
[*]KOLadd package updated (TTree moved here, also additonal funtions MapFile, MapFileRead, UnMapfile to easy work with memory mapping files when mapping of entire file required and enough).


News from 29-Aug-2005

KOL and MCK news (v2.11):

[-]MCK: in main MCK package files *.inc updated to fix Rpt calls (there was enough parameters there). In the updates, for non-correct versions of inc-files for MCK correct versions included (re-download the update from the version 2.00 to 2.10 please, or download of version 2.10).
[+]KOL: new option SMALLEST_CODE added, which is affecting code very a little but provides very small code for creating smallest possible application (now the application with empty form again gives executable about 13,5K - if this option is on, and default size is used for a form).

[*]KOL: option NOT_USE_OnIdle removed, and option USE_OnIdle added.
[*]MCK: default size for TKOLPaintBox changed to 64x64 (from 40x40).
[-]KOL: asm-version of TStrList.IndexOf fixed (for case of IndexOf( '' )).
[-]KOL: method TIniFile.ClearAll fixed, method ReCache added.
[-]KOL: function Str2DateTimeFmt fixed, thanks to ebta.
[-]KOL: property KeyPreview fixed, thanks to Michael Raskin.
[+]KOL: property TThread.PriorityBoost added.

Other news:

[+]EmuZWin v2.7 updated.
[+]Zoomer 3 updated.
[+]KOLadd: with new symbol TREE_WIDE object TTree works with Name: WideString rather with usual ANSI String.
[*]KOLMediaPlayer updated.
[+]SmoothDib updated: property ClipRect: TRect added.
[+]component HilightMemo added, small and fast.


News from 18-Sep-2005

KOL and MCK news (v2.12):

[+]KOL: TStream.ReadStrLen method added.
[+]KOL: ClipboardHasText function added.
[-]KOL: function MakeBrushHandle (asm version) fixed for case of hatched brush.
[-]KOL: TControl.Destroy (asm version) fixed for case when NEW_MENU_ACCELL defined.
[-]KOL: working OnEnter event fixed for non-windowed controls (edit box, button).
[*]KOL: with symbol NEW_GRADIENT defined another version of code by homm works for gradient panel (faster?). It does not work for styles gsRombic and gsElliptic though yet. Some correspondent changes in MCK too.

Other news:

[*]EmuZWin v2.7 updated.
[*]MultiClipboard application updated (1.6, activating after hibernation, power state change on notebooks).
[*]KOLHighlightMemo component updated.
[*]Zoomer3 v3.5 application updated (image viewer with some unique features, fast).


News from 25-Sep-2005

KOL and MCK news (v2.13):

[*]KOL: TThread.Execute sets now Terminated to true when thread is finished.
[-]KOL: TBitmap.DibBits now allocated using GlobalAlloc. This fixes working of SetDibitsToDevice and StretchDibits API functions.

Other news:

[*]JPegObj updated (property CMYK added).
[*]HilightEdit component updated.


News from 1-Oct-2005

KOL & MCK news (v2.14):

[-]KOL: method TBitmap.CopyToClipboard fixed for bitmaps with PixelFormat = pf16bits, pf15bits.
[-]MCK: method TKOLPopupMenu.SetupFirst fixed for case of empty menu, by ECM.
[-]MCK: code generation to setup icon for TKOLButton for case when icon size is not 32x32.

Other news:

[*]applications updated: Zoomer3, GrabScreen, EmuZWin.
[*]components updated: kolJpegObj, kolgif.


News from 15-Oct-2005

KOL & MCK news (v2.15):

[-]KOL: method TThread.Execute fixed for case when AutoFree=true. Thanks to GMax for a bug report.
[-]KOL: in the function NewForm (asm-version) setting fSizeGrip flag fixed, by ECM.
[*]KOL: for BitBtn handling RepeatInterval fixed and changed a bit: first wait for auto-repeat now used always 0.4ms, and for all repeats RepeatInterval interval used (and handling click twice on a single click is fixed now).
[-]KOL: method TControl.CreateWindow (PAS-version) fixed for case of MDI child, MDI client. Thanks to Truf for a bug report.
[-]KOL: procedures WndProcBufferedDraw and InvalidateDblBufParent has changed to fix multiple redrawing children of the DoubleBuffered parent. It is possible to use definition DBLBUF_OLD yet to return (mainly) to the previous behavior if this is necesary. Thanks to homm for a bug-report.
[+]MCK: a mirror added for ScrollBar control (TKOLScrollBar).

Other news:

[*]updates starting from version 2.00 fixed (if any problems found with the update, it is possible now to unpack base version 2.10 from the site (,,, and download only an update to the last version (2.15).
[*] application  Hexapad updated (Sprite Search function added).



News from 17-Oct-2005

KOL & MCK news (v2.16):

[-]KOL: property TControl.SystemTime added for data picker control and assigning NAN to property DateTime fixed. Thanks to GMax for a bug report.
[*]KOL: function WndProcMenu declared in the interface part of KOL.pas, by a suggestion of  shalex.
[-]KOL: compiling (and installing MCK) in Delphi2 fixed (undeclared Get/SetThreadPriorityBoost in Windows.pas)
[-]KOL: event handler TControl.OnTVSelChanging (asm-version) fixed: returned value was interpreted incorrectly. Thanks to Truf for a bug report.
[-]KOL: procedures DoDrawChildrenBuffered, DoDrawDblBuffered and WndProcBufferedDraw has changed to fix more DoubleBuffered  and Transparent controls. Symbol definition DBLBUF_OLD removed. Thanks to homm for a bug-report and good test project.
Procedure WndProcPaint also changed, and fCollectUpdRegion no more used. If were no reports on need this field, it will be removed later at all.
[-]KOL: working with true color bitmaps having BI_BITFIELDS coding fixed (such bitmaps are stored in the clipboard after grabbing the screen via PrntScrn key, when desktop is in true color). Thanks for a bug report: dvk.
[-]MCK: storing Image property fixed for TKOLButton (for icon, VCL.TIcon almost always loads it as 32x32 only, so KOL.TIcon used to fix this).

Other news:

[*] application  Zoomer3a updated (recompiled with fixed true color bitmaps handling in KOL).



News from 19-Oct-2005

KOL & MCK news (v2.17):

[+]KOL: property TOpenDirDialog.DialogWnd added, by a suggestion of GMax.
[-]MCK: rebuilding MirrorKOLPackageXX with no option ICON_DIFF_WH fixed.



News from 21-Oct-2005

KOL & MCK news (v2.18):

[-]KOL: declaration of GetThreadPriorityBoost and SetThreadPriorityBost made also for Free Pascal (symbol _FPC) and functioning property TThread.PriorityBoost made platform dependant (version of Windows is checked and API functions are called only under NT based systems), by a suggestion of Thaddy de Koning. Also, function _NewTControl moved to {$IFDEF ASM_VERSION}...{$ENDIF} brackets for further compatibility with Free Pascal.
[-]KOL: method TBitmap.FormatChanged fixed (for Win98, application could crash, under NT, memory leak was possible). Thanks to Boris Mouradov for a bug report.



News from 27-Oct-2005

KOL & MCK news (v2.19):

[-]KOL: conditional symbol FILE_EXISTS_EX added. With it, function FileExists works more correct for some files (e.g. PRN.*)
[*]KOL/MCK: for TOpenSaveDialog, property NoPlaceBar added, and with (already existing) symbol OpenSaveDialog_Extended, place bar now can be used or not used in Windows2000 and higher - depending on NoPlaceBar property value. Thanks to dvk for a report.
[-]KOL: TThread.Init fixed for case when Applet is not created (actually Applet or Form but TThread can be used totally without visual controls).
[*]KOL: for rich edit control, version 5 used by default from msftedit.dll (if available), it is provided in new Windows versions - faster and correctly working with tables. Thanks to Thaddy de Koning for a suggestion.
[-]KOL: several more changes in functions DoDrawChildrenDblBuffered, DoDrawDblBuffered, WndProcBufferedDraw - to fix DoubleBuffered and Transparent in some specific cases.
[-]KOL: function DoSetFocus - changed to fix focusing with mouse of controls (such as combobox), which stop functioning when have TabStop=false.

Other news:

[+]DemoTreeViewDrag added.



News from 4-Nov-2005

KOL & MCK news (v2.20):

[+]KOL: function DesktopPixelFormat added.
KOL: method TBitmap.SetHandle (both asm- and pas-versions) fixed for case of monochrome bitmaps (could failed under Windows98 in following DrawTransparent and may be in other calls). Thanks to homm, gent, ECM for the bug report.
[-]KOL: function NewRichEdit fixed (worked properly only for the first call). Thanks to flea for the bug report.

[-]KOL: method TControl.Destroy (PAS-version) verified to asm-version (destroying CustomObj and CustomData moved below a bit). By a suggestion of homm.

Other news:

[*]kol_err: unit MMX.PAS in updated (function GetCPUType now changed and returns result of another data type: set of capabilities now returned rather then single CPU type, and additional capabilities now returned such as MMX+, 3DNow! and 3DNow+). Code using MMX.pas now should be changed, e.g. GetCPUType >= cpuMMX should be replaced with cpuMMX in GetCPUType.



News from 5-Nov-2005

KOL & MCK news (v2.21):

[-]KOL: EMERGENCY bug fixed with Rich Edit controls (all Windows versions are affected below XP! Application does not crash but Rich Edit controls are non-functional). Thanks to flea again for a bug report. For the time, another bug fixed, with using elder Rich Edit version, when NewRichEdit1 function is used to create Rich Edit controls.



News from 8-Nov-2005

KOL & MCK news (v2.22):

[+]KOL: function Color2Color15 added.
KOL: function TBitmap.SetHandle fixed for Windows9x (formats pf15bit and pf16bits, may be other formats affected too).
[-]KOL: method TBitmap.GetPixelFormat now distincts exactly formats pf15bit, pf16bit and pfCustom (color masks are checked also).
[-]KOL: method TBitmap.Convert2Mask totally rewritten and provides now same results in NT/2K/XP and in 9x/Me. This affects at least DrawTransparent look.
[-]KOL: in function WndProcMouseEnterLeave all Invalidate calls are uncommented: these are necessary for correct work of BitBtn with bboFlat option on. Thanks to igi for a bug report.



News from 19-Dec-2005

KOL & MCK news (v2.23):

[+]KOLadd: object TOpenDirDialogEx added (alternative to TOpenDirDialog, does not use SHBrowseForFolder, works much faster).  MCK: property TKOLOpenDirDialog.AltDialog added, allowing to switch to the alternative dialog quickly.
KOL: event TControl.OnTVExpanding should now return TRUE (for both asm and pas verion) to prevent expanding, and FALSE to allow expanding node (earlier this was different for asm and pas version).
[+]KOL: method TControl.RE_WSearchText added.
[+]KOL: function DirIconSysIndexOffline added.
[+]KOL: property TMenu.ItemHelpContext added.
[-]KOL: access to TThread.PriorityBoost changed to dynamic linking (fix for Win9x).
[-]KOL: creating and destroying TImageList object fixed.
[*]KOL: method TBitmap.Convert2Mask changed.
[*]KOL: working of TControl.AutoSize changed a bit (MinWidth and MinHeight are taken into consideration while autosizing).
[*]MCK: P-code generation provided for all the mirror components for all the controls and objects of the standard set of KOL objects and controls. Since this version, Collapse is released which allows to compile P-code into byte-code and adds an emulator of this byte-code into the application. See Collapse package in Tools section.



News from 23-Dec-2005

KOL & MCK news (v2.24):

[+]KOL: properties TControl.homm_AltDoubleBuffered, homm_AltTransparent added (alternative to DoubleBuffered and Transparent). By homm.
KOL: function _NewControl fixed (asm-version). Default initial position (Top) was set incorrectly.
[-]KOL: method TBitmap.Convert2Mask fixed (asm-version).

Other news:

[*]application Zoomer3 updated.



News from 24-Dec-2005

KOL & MCK news (v2.25):

[-]MCK: creating ambiguous files instead of fixed.
MCK: P-code generation fixed for most of controls and objects.
[-]Collapse: some fixes in PCompiler, Collapse.pas, docs, distributive. Now it is mainly functional.

[*]KOL: small changes in source (mainly removing old commented code to make source less then 64K lines and to allow Delphi debugger to work again).




News from 25-Dec-2005

KOL & MCK news (v2.26):

[-]MCK: some changes to compare new version of generated code with the old one without consideration of code generated by PCompiler (rare changing inc-files on disk, faster working of Delphi)
MCK: P-code generation fixed for rest of controls and objects (hope, now really most of controls are ready for P-code).
[*]KOL: small change
in WndProcPaint (no clipping with fUpdRgn).




News from 29-Dec-2005

KOL & MCK news (v2.27):

[*]MCK: more changes to minimize changing inc-files on disk and faster working of Delphi
for Rich Edit control, property TControl.RE_URL fixed.

Other news:

[+]KOLODBC added to work with data bases from KOL via ODBC.




News from 4-Jan-2006

KOL & MCK news (v2.28):

[*]KOL: conditional symbol USE_PROP added: if it is set in the project, the old GetProp/SetProp are used to associate TControl objects with its windows, otherwise (default now) GetWindowLong / SetWindowLong are used and association is stored in GWL_USERDATA field (faster a bit, smaller a bit code, but GWL_USERDATA can not be used for other purposes).
properties TControl.DoubleBuffered, TControl.Transparent replaced with new, totally reworked code by homm.
[-]KOL/MCK: compatibility with Delphi2/Delphi3 restored (and NOT_USE_KOLCTRLWRAPPER added for these old Delphi versions to prevent creating KOL wrappers at design time).
[*]KOL: small changes in graphic controls implementation (Gradient Panel now can also be a parent of graphic controls without loose of gradient painting).
[-]KOL: fix in NewDibBitmap: memory for a DIB is allocated with a small reserve (16 bytes) to prevent writing to unallocated memory in TBitmap.Convert2Mask.
[-]MCK: P-code generation fixed for TControl.MaxProgress.

Other news:

[+]Collapse package updated (PCompiler rewritten, and works for less passes count).




News from 5-Jan-2006

KOL & MCK news (v2.29):

[-]KOL: Graphic controls drawing fixed.
[-]MCK: P-code generation fixed for TControl.MaxProgress and TOpenDirDialogEx.Title.

Other news:

[+]Collapse package updated (PCompiler works even faster, files are created even for empty tables since these therefore are required).



News from 6-Jan-2006

KOL & MCK news (v2.30):

[ ]KOL: nothing changed.
[-]MCK: P-code generation fixed for TKOLEdit.Text , TRichEdit.Text , TControl.SetCtlColor, TKOLCustomControl.EraseBkgnd. Problem with too long (truncated) strings fixed.

Other news:

[+]Collapse package updated (PCompiler: problem with long strings in asm fixed).




News from 7-Jan-2006

KOL & MCK news (v2.31):

[-]KOL: graphic controls transparent draw fixed, and usual control as a parent of graphic controls (e.g. panel) drawing fixed.
[-]MCK: P-code generation fixed for TKOLRichEdit.Font , TKOLBitBtn
, TKOLToolbar.generateVariables (also usual code generation fixed for such property), TKOLFrame. Calling SetCtlColor fixed in Delphi7 (possible problems with negative numbers in built-in assembler).

Other news:

[*]package Collapse updated (option /A added for a Pcompiler to force recompiling all the units having Pcode).




News from 21-Jan-2006

KOL & MCK news (v2.32):

[-]MCK: generating P-code for TKOLTrayIcon fixed (setting OnMouse event).
some other P-code generating fixed, by homm (methods TControl.Setxxxx calls replaced with TControl_.Setxxxx).
[*]KOL: working of methods TObj.RefInc, TObj.RefDec, TObj.Free, TObj.DoDestroy changed a bit. With symbol OLD_REFCOUNT the old code is still working.

Other news:

[*]package Collapse updated (fixed for Windows 9x and Athlon64 machine, prefixes E4-E7 no more used except symbol NT_ONLY defined for project and PCompiler).
[*]package KOLOleRe updated, by homm.
[+]application ProjMover added, see in Tools.
[*]application EmuZWin updated (it uses new Collapse).




News from 7-Feb-2006

KOL & MCK news (v2.33):

[-]KOL: brush and font resources leak fixed in TControl.Destroy (asm version).
big improvement in more Unicode support, by Boguslav Brandys .
[+]KOL: method added: TStrList.DeleteLast.
[*]KOL: in function LogFileOutput, ofShareDenyWrite mode added.
[-]KOL: for button, bitbtn and for checkbox OnEnter/OnLeave functionality fixed, by ECM.
[-]MCK: P-code generation fixed (Collapse) for OnBeforeCreateWnd, WindowState.




News from 5-Mar-2006

KOL & MCK news (v2.34):

[*]KOL: TOnLVDelete type removed and TControl.OnLVDelete event now is the same as OnDeleteLVItem event. MCK: Only OnDeleteLVItem and OnDeleteLVRange rest there, OnLVDelete removed).
functions Str2Extended, Koi8toANSI added.
[-]KOL: changes in DoDrag abandoned, splitters functioning fixed.
[-]KOL: changes in scrollbar by ECM (Enabled, ThumbTrack fixed)
KOL: small changes in RE_FmtStandard implementation.
[*]KOL: changed, conditions added to allow using KOL in Delphi8, Delphi2005, Delphi2006 - without MCK. By Thaddy de Koning.
[-]MCK: P-code generation fixed (Collapse) for LoadBmp call (toolbar, imagelist).



News from 16-Apr-2006

KOL & MCK news (v2.35):

[+]KOL: TThread.WaitForTime method added.
functions Bits2PixelFormat, FileTime added.
[*]KOL: changes in iSqrt function, function iCbrt added.
[*]KOL: function  DoFileOp added, by Unknow Mystic.
[-]KOL: some fixes for Scrollbox by ECM
[-]KOLadd: event TDirChange.OnChange added.
[-]KOLadd: memory leak fixed in TOpenDirDialogEx object.

Other news:

[*]KOLHighlightMemo updated (capability added to work with virtual strings), and some small bug fixes.
[*]KOLPcx updated (some rare wrong images couldn't load correctly, fixed).
[*]Animation updated (small changes, SAFE_FRAME symbol added).
[*]KOLJpegObj updated (method HasBitmap added).
[*]KOLGraphic updated (PCX fixed, Width and Height added to allow calling it directly, symbol USE_GLOBALS added, "Tag" bug fixed: some TIFFs were loaded incorrectly).
[*]KOL_err updated (in KOLMath.pas, functions IsPowerOf2, Low1, Low0 added).
[*]KOLadd also updated (if it is not updated by the Updater, just download new one).
[*]Multiclipboard application (FWS) updated (a restriction 1M byte added on a text grabbed from the clipboard).




News from 22-May-2006

KOL & MCK news (v2.36):

[-]KOL: TThread.Destroy fixed.
KOL: older version of the Scroll Box behavior now available using conditional symbol SBOX_OLDPOS
[*]KOLadd/MCK: OpenDirDialogEx moved to a separate unit KOLDirDlgEx.pas.

Other news:

[+]OpenGLContext added: OOP for KOLOGL12.



News from 30-Jul-2006

All the KOL community is shocked and sore knowing about an untimely death of our most active member, ECM (Michalichenko Eugeny) this month. Rip in peace, friend, we all shell remember You in our hearts.

KOL & MCK news (v2.37):

[+]KOL/MCK: function LBItemAtPos and property LBTopIndex are added to use with the listbox, by  ECM .
[-]KOL: some fixes in the Scroll Box, by  ECM .

[-]KOL: function NewToolbar fixed (asm version), by  ECM .
[-]MCK: creating Popupmenu for MDIChild added, by Dmitry Matveev.
KOL: property OpenReadOnly added to  TOpenSaveDialog.
[-]KOL: method SetHasBorder fixed (for TabStop correct behavior), by MTsv DN.
[-]KOL/MCK: using ActionList fixed together with the option USE_NAMES turned on (code generated by MCK led to AV exception).
[+]KOL/MCK: properties AnchorLeft, AnchorTop added, method Anchor changed, by the Sormart.
[*]KOL: method LVSetItem changed to allow changing column image index.

Other news:

[*]OpenGLContext updated.



News from 25-Aug-2006

KOL & MCK news (v2.38):

[*]MCK optimized and works now much faster. Properties TKOLProject.GeneratePCode and TKOLProject.ReportDetailed added.
[*]KOL: file KOLDEF.INC changed for better use Delphi 2005 and Delphi 2006 with KOL (though these Delphi versions do not support MCK). Changes by Thaddy de Koning.

[+]KOL: function SwapListItems added to use with SortData to sort lists (TList).
KOL: function iSqrt changed to use old version of code with Delphi4 and elder compilers (it seems that elder version only is compatible with Free Pascal 1.XX.XX too).
KOL/MCK: calling MessageBox for case when CreateWindowEx was failed moved into {$IFDEF DEBUG_CREATEWINDOW}...{$ENDIF} brackets (pascal version of TControl.CreateWindow method). This also corrects problems with working in Delphi IDE with MCK projects having graphic controls.
[*]KOL: small change in TBitmap.GetCanvas method: Brush now created only in case when BkColor property is not black. In asm version, this adds only one short jump instruction into code, but makes it more efficient.
[-]KOL: method TBitmap.Convert2Mask fixed. For bitmaps having width divisable by 32, it worked incorrectly corrupting transparency for first 8 pixels in each pixel line. Thanks for bug reports.
[-]KOL: method TControl.GraphicButtonMouse fixed. If press anywhere on the form then move mouse to the graphic control holding mouse button pressed and release mouse at it, in result RefDec was called without RefInc and the control was destructed and disappeared from the form. Thanks for a bug report.
MCK: it is now possible to rebuild MCK with option DISABLE_GRAPHIC_CONTROLS to convert all the graphic controls into usual windowed in all projects (if this option is set, MCK treats property Windowed always equal to TRUE).

Other news:

[*]Application Bars updated ("lock bars" option added).



News from 21-Sep-2006

KOL & MCK news (v2.39):

[*]KOL: some small changes to allow compiling classes version with Borland C Builder 6. Download also updated and apply converting to classes with command file provided there.
[*]KOL: function WinVer changed a bit to allow distinct OS version Millenium (wvME).

[*]KOL: references to shellapi and commdlg from KOL removed. Minimal application become smaller about 1K (and now 12,5K).

Other news:

[*]KOLdirDlgEx in package KOLadd changed: speed increased for removable disks.
[*]GlueCut updated: a command-line file and rules added to convert KOL to classes version more compatible with BCB6.
[*]kolmath in package KOL_err changed: some small additions.
[*]Lnk package updated: function FileTypeReg2 now works properly rewriting any existing file association.
[*]dragndrop package updated: problem fixed with 'abstract' directive.
[*]Flic package updated: R and B color components were incorrectly exchanged.
[+]kPerlRegExp package added (regular expressions compatible with Perl syntax).



News from 14-Oct-2006

KOL and MCK news (v2.40):

[*]KOL: conditional NOT_USE_RICHEDIT added, applicable when rich edit controls are not used. All the code responding for such functionality is off in such case including a reference to richedit in uses clause. This economies about 60 bytes of code.
[*]KOL: conditional USE_GRAPHCTLS added. It must be used when graphic controls are used in the project. If not set, economies more then 100 bytes of code.
[*]KOL: now TControl.Caption stored as KOLString (AnsiString in usual case, WideString when UNICODE_CTRLS set).
[*]KOL: in case of conditional SMALLEST_CODE property Icon no more loaded automatically from the resource MAINICON for forms and applet while creating a window, if it was not assigned by your own code. When the conditional SMALLEST_CODE is not used, it is now possible to set conditional CUSTOM_APPICON to use your own resource name for the main icon.
[*]KOL: comments for TTimer fixed (from the far away time Applet window is not used, but the own special window).
[+]KOL: constant Infinity added (not for code for Free Pascal).
[+]KOL: function IsInfinity added.
[-]KOL: fixes for Delphi 2, 3: directive {$EXTERNALSYM} removed, calling inherited Init provided for TStrList, TThread.
[*]KOL: in case of conditional UNICODE_CTRLS functions MsgOK, MsgBox, ShowMsg also work with Unicode string parameter and use correspondent versions of API calls.
KOL: conditional CRASH_DEBUG added for intensive testing of incorrect memory usage: all the memory allocated for an object while destructing it filled with hexadecimal $DD.
[+++]KOL: conditional NOT_USE_AUTOFREE4CONTROL added. Now the most part of destructing sub-objects (including Children) of the TControl is performed with fAutoFree list, but this conditional returns this to the previous version. New code is several hundreds bytes smaller.

[*]KOL: method TObj.Final changed: objects, added to fAutoFree list, destructed now in the backward order.
[+]KOL: methods added: TObj.RemoveFromAutoFree, RemoveFromAutoFreeEx.

[***]KOL: message handling order changed to destroy forms and finish the application more accurately. Changes are in WndFunc, TerminateExecution (asm-version). So, destructors now called correctly for forms.
[+]KOL: conditional BUTTON_DBLCLICK_AS_CLICK added. With it, double click with left mouse button on any button (not bitbtn) is treated as two clicks.
[+]KOL: conditional DEFAULT_CANCEL_BTN_EXCLUSIVE added. With it, properties DefaultBtn and CancelBtn are mutually exclusive as earlier. But by default these properties can be set both for the same button on a form.
[+]KOL: conditional NO_DEFAULT_BUTTON_BOLD added. With it, a button with DefaultBtn = true is not visually styled with  BS_DEFPUSHBUTTON style.
[+]KOL: conditional CLICK_DEFAULT_CANCEL_BTN_DIRECTLY added. With it, default and cancel button are pressed with keyboard keys Enter / Escape not visually, without focus switch to a forced button.
[-]KOL: asm-versions provided for methods TControl.DoSetFocus, TControl.GetHasBorder, TControl.SetVerticalAlign, TControl.DC2Canvas, TControl.SetTransparent.
[-]KOL: fixes in TControl.IsMainWindow.
[-]KOL: previous handling of WM_ENDSESSION in the procedure WndProcForm turned off by default (actually was halting the application), but it can be turned on back again with a conditional ENDSESSION_HALT.
[-]KOL: procedure JustOneNotify fixed (asm-version).

[*] Minimal application with an empty form (with Caption = '', DefaultSize=true, DefaultPos=true - last two in case of MCK) now compiled in Delphi5 (with system.dcu replacement, turning on optimization and turning off debug information, with conditionals SMALLEST_CODE and NOT_USE_RICHEDIT) to the application with size only 10,5К bytes.

[*] In the MCK supporting of KOLCtrlWrapper turned off (stop functioning), so exterior of the form at design time now looks not very like as at run-time.



News from 28-Oct-2006

First important news: the site moved to a new location. As you can see, it has now short and convenient name: http:// kolmck . net. Great thanks for this contribution to Thaddy de Koning!

KOL and MCK news (v2.41):

[*]KOL: very important: UNICODE support improved a lot. With the symbol UNICODE_CTRLS, the application recompiled to almost UNICODE-aware, including working with controls, registry, file names, etc. (Note: to use it, download additionally, containing necessary file, with redirections of the most of Windows API functions and types to its UNICODE versions). Correspondent changes are also in, provided with the main archive.
[*]KOL: another important: a process of porting KOL to Linux started (using GTK+ as the main Linux GUI-building tool). So, KOL.pas now contains a lot of optional code closed in {$IFDEF}...{$ENIF} brackets. For now, it is possible to download additionally necessary GTK units (ported from original units of Free Pascal and changed a bit to allow compiling with Delphi) and to test this functionality under Windows (you also should install GTK for Windows, a link provided in the archive where to get it).
[*]KOL: most of assembler code moved to a separate file Therefore rules of using asm-version are the same: add a symbol PAS_VERSION to project options to use only Pascal version of code, or do nothing to use assembler version. (With such change, size of KOL.pas slowed down a lot, and we have now more space to add new features. So, objects TWStrList and TWStrListEx are returned to KOL.pas from KOLadd.pas, especially since these objects are necessary to implement Unicode well).
[*]KOL: additionally to SMALLEST_CODE, another symbol SMALLER_CODE provided for intermediate size optimizations at the expense of speed or resource amount used due run-time. Difference is that SMALLER_CODE provide exactly the same view and functionality of the application as it has without SMALLER_CODE or SMALLEST_CODE, but can slow down working a bit, and does not focus on resource economy.
[*]KOL: symbol BUTTON_DBLCLICK_AS_CLICK removed but the opposite one BUTTON_DBLCLICK is introduced. Without it, all buttons do not distinct double clicking it and just are clicked twice. Use BUTTON_DBLCLICK to distinct double click event again as a separate event (and when button is double clicked, OnClick is fired once with BUTTON_DBLCLICK symbol).
[*]KOL: some methods and types declared as "deprecated" and moved to a separate file To use it, download the archive and enable it adding symbol ENABLE_DEPRECATED to the project options.
[+]KOL: functions Find_First, Find_Next and Find_Close added, together with the type TFindFileData type to abstract file finding process from operating system speciality as far as possible. If you used before FindFirstFile from Windows.pas or FindFirst from Delphi's SysUtils, re-write your code if this possible (changes are not too big, but porting your application to another platform will be easier later).
[-]KOL: method TObj.Final rewritten (both asm-version and Pascal version), to make recursive object destructing more stable.
[*]MCK: since type KOLChar declared now as not exactly equivalent to native Char (type KOLChar = type Char), event handlers OnChar can become incompatible with existing handlers. In such case, recreate all such handlers (save old code, remove bad handler, create new one and copy old code there).
[*]MCK: Event OnLVDataW removed as deprecated, use OnLVData with UNICODE_CTRLS.

As you can see, a lot of changes are made in this version. So, bugs are very possible. Since this, version 2.41 is releasing as "unstable beta". Download it, install into a separate directory and actively test it. When the most bugs will be fixed, this version will be replaced with the next stable one (with the even number).