Introduction | Downloads | Applications | News | FAQ | |
Forum | Subscribe | Articles | Links | Other |
Key Objects Library
Key Objects Library
OLD KOL history
KOL & MCK v0.84 (1-Jul-2001) [*] Small change: if the TControl.Icon
property is set to THandle(-1), then the application no more tries to load default icon
resource. Some debugging tools (MemProof) do not alert more that the API failure took
place while loading 'MAINICON' from the resource. [-] Resource (bitmap) leak fixed for TMenu
(for case, when ItemBitmap[ ] property used - for asm-version). [-] TControl.CreateWindow pascal version fixed. (Ambigous call to Global_Align removed, because it could cause infinite realigning in some cases, which cases application to hang at run time). [-] Aligning of dynamically created controls on pages of tab control fixed. (ToBeVisible for tab pages always returns its Parent.ToBeVisible now. This allows to get in consideration all pages of visible tab control, not only current page, while re-aligning controls). [-] HeapMM.pas fixed and now can be used not only with system.dcu replacements (in standard system.pas, IsMemoryManagerSet variable is not in interface part, so it is unavailable for accessing from other units). HeapMM is recommended to use instead of standard Delphi memory manager when the program is debugging under proofing tools, because those ones can detect some API failures under Delphi memory manager, junking the report with undesired messages. [+] Methods IconLoad, IconLoadCursor, CursorLoad added to TControl. These are recommended to use when Icon or Cursor is loaded from the resource, because in such case special flags are set to prevent attempts to destroy shared icon object. Changes made also in MCK code generation to use these methods for loading Icon and Cursor properties from resources, when needed. [-] StrSatisfy function changed to become case insensitive. This fixes TDirList filtering while retrieving directory list by mask(s). Thanks to Alexey Shuvalov, who reported this bug. [+] Methods TObj.Add2AutoFree and TObj.Add2AutoFreeEx
added to allow destroying non-parented (usually non-visual) objects in the destructor of
the owner object. This is used in MCK to add all such objects
(e.g., TKOLTimer) to this list of the parent form object. Also, the form
holder object now is added to the auto-free list of the contained form too. Since this,
generating special procedure to destroy all such objects is abandoned. But the main
benefit is that the form holder object (e.g. Form1 variable) is live yet when OnDestroy
is called for a form or its child controls. [-] Possible Delphi hang fixed for TKOLForm (could occur when TKOLControl descendant was dropped onto it). [-] Events OnEnter / OnLeave are added for mirror components (MCK), correspondent to those controls, which can be focused at run time. And, OnLeave event fixed for radio box (never called). [!] About compatibility with Delphi6. Now I do not effort to provide such compatibility, but people tell that v0.83 (at least) works normally, when a symbol ASM_VERSION is undefined (i.e., Pascal only used with a few inline asm code). [!] About compatibility with FreePascal.
Do not ask me more. I spend two+1 evenings and found a lot of reasons why KOL can not
support it. Following are among this:
|
|||||||||||||||||||||||||
KOL & MCK v0.83 (26-Jun-2001) Changes by Sergey Shisminzev: [-] OnSelChange event fixed for tree view control. And, editing label for tree view nodes fixed (asm version). Thanks to Sergey Shisminzev for a bug report. [+] Events OnTVBeginDrag, OnTVBeginEdit, OnTVEndEdit, OnTVSelChanging, OnTVExpanding, OnTVExpanded, OnTVDelete added to MCK mirror class TKOLTreeView and available now at design time.
|
|||||||||||||||||||||||||
KOL & MCK v0.82 (24-Jun-2001) [+] Int64 type added, and following
functions/procedures to work with it: [+] For working with Double,
following functions are added: [-] Reading rich edit font styles fixed - thanks to Sergey Shisminzev for bug fix. [*] Small changes in TStream implementation. Interesting only for those of programmers, who want to derive their own stream type. [-] Small fix for KOLGIF.PAS, new version available.
|
|||||||||||||||||||||||||
KOL & MCK v0.81 (17-Jun-2001) [-] OnEraseBkgnd fixed for a form object (did not work). [-] When a Brush (property of TCanvas, or TControl) is destroying, its BrushBitmap is destroying automatically. Also, old BrushBitmap is destroyed automatically when another value (bitmap handle) is assigned. [-] After OnPaint, all graphic tools are deselected automatically from a Canvas, if it is created. This fixes drawing with non-default font, brush, etc. [-] Pascal version of TCanvas.TextExent fixed. [+] MCK: New component added: TKOLFrame. It is intended to use in place of TKOLForm, and allows to create and adjust at design time a panel with child controls and objects on a standalone designer form. At run time, instances of such panel together with its children can be put onto another parent control or form dynamically. [*] TTimer implementation improved. Now timer owner window is destoyed not when the last active timer is deactivated, but when the last TTimer object is destroyed. This makes working with timers faster.
|
|||||||||||||||||||||||||
KOL & MCK v0.80 (15-Jun-2001) [-] FIXED: Disorder of aligned controls (in MCK projects) with no TabOrder property available (such as labels). [-] TextAlign property added for TKOLMemo mirror component. [-] StrLen fixed - thanks to Peter Tuente, who reported the bug. (As a result, TStrList.GetText, SaveToFile work correctly now). [-] Design-time editor for TKOLToolbar component fixed (separators have no correspondent images, etc.) and improved a bit. Also, noTextLabels fixed for separator buttons. [*] When TVInsert / TVDelete methods are called, tree view control is invalidated automatically now. Earlier, [+] button did not appear immediately after creating the first child node. (Thanks to BaRoN! for this report). [+] Methods BeginUpdate / EndUpdate added for TControl (useful for treeview, listview, listbox, memo, richedit controls). Thanks to BaRoN! for a question about it. [-] For TKOLOpenSaveDialog, assignment to OpenDialog property is generated now (this affected only that caption of button was 'Open', not 'Save' as it should be). [-] For combobox, OnSelChange event now occure after Text and CurIndex property are changed. [-] OnClose event is called ones now (this is done by assigning nil to OnClose event handler after first call of it). Earlier, OnClose could be called twice for a form without standalone Applet object - because of sending WM_CLOSE message at the end of Run procedure. Thanks to Peter Tuente for a bug report. [+] Another memory manager unit added - HeapMM - small and fast (in a separate archive). It can be used separately, or with system.dcu replacement (separately from KOL), or together with KOL. But the most efficient is to use it together with KOL, when system.dcu replacement used. [*] TTimer no more depends on Applet and form windows: special invisible window is created to own timers. Since this, TTimer object can be used in an application without GUI windows, or work before creating or after destroying other windows. Sure, code is not grow in result of this change. [+] OnPaint event is now available for any control, not only for paint box. Properties UpdateRgn and EraseBackground are added to improve painting (these allow to examine what parts of the window are invalid and repaint only those ones, and to determine if the application or system is resposible for erasing window background). Another event added OnEraseBkgnd, which allows to decorate controls without overriding its painting in total. And with new function PaintLaterIsBetter it is possible to improve performance of painting operations greatly, together with drawing only over invalidated region (i.e. when real UpdateRgn is examined to reduce drawing to the clipping area only). [!] Sorry, but changes in TKOLDataModule can cause corrupt the unit correspondent to a such component. Save your work first (copy unit files without opening it in IDE), and re-create all needed components manually. [ :-( ] Version 0.80 (base version, or stable) of KOL and MCK is provided in two archives where all needed files are packed. Following several version will be available as small patches.
|
|||||||||||||||||||||||||
KOL & MCK v0.78 (5-Jun-2001) [+] New additional unit provided: KOLword.PAS, which is intended to do MS Word automation (client). It requires only ~1K of code itself (and ~3K together with a code used from system units), and all the objects of Word together with its properties and methods are available. [*] DragStart method improved. Now an undocumented SC_DRAGMOVE command message is used, which allows to easy provide dragging of a window (both form and control) until left mouse button released. (It is tested and found working even under Windows95 without any additional software installed). [-] Calculating of TKOLProject.projectName property fixed for case when Delphi5 is started with -hm command line option. Thanks to Dočekal Radek, who reported this bug. [-] Some small changes made to accomodate Delphi2 to make it compatible again. Code of KOL is checked again to provide compatibility with old Delphi versions. [*] Working with Cursor property
changed. In KOL, Cursor property is inherited
by child control from the parent, when child control is created. In MCK,
Cursor_ property (TKOLControl) introduced as string to
allow typing cursor resource name manually, and special property editor made to allow
selecting one of standard cursors from drop-down list. [*] Aligning fixed and improved. Now parent's Border property (the same as Margin) is used to provide a border between aligned controls (and between those and its parent). Also, MarginTop, MarginBottom, MarginLeft, MarginRight properties added to allow determine additional space between parent control and its (aligned) children. In MCK, earlier defined property Margin (replaced by Border) moved from published section, so just answer "Ignore all", when a project is loaded into IDE. [-] Setting Margin property (now Border) for TKOLForm fixed - thanks to BaRoN!. [-] Groupbox fixed: WS_ES_TRANSPARENT style no more used, the only thing what had to do: filling its background in responce to WM_ERASEBKGND message. [*] Small changes in splitter to make it compatible with new aligning capabilities. Another constructing function added: NewSplitterEx, which allows to determine how it is beveled. Also, design-time property edgeStyle added in MCK mirror of the splitter control. It is possible now to set MinSizeNext property to negative value to compensate too large parent Border and allow resizing first control widely. [-] Small fix for DoubleBuffered drawing: ClientRect is obtained now using windows native GetClientRect API function, not using property ClientRect, which corrects rectangle for some idiosincrasies controls, returning ClientRect incorrectly (e.g., groupbox). [-] Assigning a value to Color property of TControl at run time fixed. [-] TBitmap.LoadFromStream, LoadFromFile fixed. [+] ExecuteWait function added, which allows to launch an application and wait until it finishes or specified TimeOut expires. [-] Generating icon and bitmap resources for MCK project changed a bit. Now, resulting res-file is compared with its previous content and when it is actually changed (or created new), source is marked modified, so a compiler is forced to rebuild project with new resources. This also fixes a problem with changes in TKOLTrayIcon resource naming when You re-open earlier created project.
|
|||||||||||||||||||||||||
KOL & MCK v0.77 (29-May-2001) [=] Sorry, special update to fix MCK installation under Windows95 (no more depends on setupapi.dll presence).
|
|||||||||||||||||||||||||
KOL & MCK v0.76 (28-May-2001) [+] KOLSocket.PAS additional unit provided -- by Alexander Shakhaylo. [+] TCABFile object provided to extract files from CABinet file archive. [*] TIniFile: GetSectionNames, SectionData methods updated (by Vyacheslav A. Gavrik). [-] Assignment to Text property for TKOLEdit, TKOLMemo, TKOLRichEdit at design time now applied immediately to code generated. [-] MCK: Assigning Visible = False at design time fixed for controls from comctl32 (e.g., for TKOLRichEdit, TKOLListView, etc.) [-] Character formatting in rich edit
control fixed. Now all RE_Fmt... properties are working properly. [*] rich edit: Assignment to RE_FmtFontColor changed. Now a property RE_FmtAutoColor (just introduced) is reset to False, and color is converted to RGB always. Properties RE_FmtHidden and RE_FmtHiddenValid provided. [*] rich edit: properties RE_AutoKeyboard, RE_AutoKeybdSet, RE_AutoURLDetect, RE_DisableOverwriteChange, RE_FmtStandard, RE_Transparent and events OnRE_InsOvrModeChange, OnRE_OverURL are available at design time for rich edit control mirror (MCK). [-] MCK: Inserting long strings as initial value for string type property fixed - by LasTNighT. [*] MCK: now TKOLProject can detect correct project source directory during loading the form at design time, so there are no needs to type sourcePath property manually every time, when MCK project is moved (or distributed) to another location (or to another PC). [-] Tabulating to controls, currently invisible together with its parent ones, fixed. Property ToBeVisible now returns False, if ToBeVisible for its parent control is False too. [-] Aligning of child controls on group box fixed. Thanks to BaRoN!, who found this bug.
|
|||||||||||||||||||||||||
KOL & MCK v0.75 (20-May-2001) [+] New methods in TControl: DragStart (for form only) and DragStartEx, DragStopEx (and propertty Dragging reused) - for any control, which allow moving form/control with mouse not only by dragging form's title bar. [-] Events OnMouseDblClk, OnClose forgotten earlier, added for mirror components and available in the Object Inspector now. [*] Some changes in window message handling procedure. Dynamic procedures (attached using AttachProc) no more called for Applet (excluding its own messages queue), but only for control itself. As a result, attached procedures now do not filter all the messages passing through all application windows, but only messages, posted to the target control's window only. This means, that to filter all the messages, it is possible to use Applet.OnMessage event only now. [*] Change above made it possible to change and improve mouse messages processing. Now all the mouse events (OnMouseDown, OnClick, OnMouseUp, OnMouseDblClick) are received normally - and assigning an event handler to OnMouse... does not hang OnClick and OnMouseDblClk handlers from working. One more flag is used now in TMouseEventData record, passed to all OnMouse... event handlers. It is called StopHandling and setting it to TRUE prevents this message to further processing it (it is not passed to all other event handlers and to default window handler too). [*] Change in MCK project code generation: now not
functions [*] Double click on mirror component at design time now always creates and shows the most appropriate event handler for non-visual KOL objects. OnDestroy event handler is created at last, when the object has no other events defined for it in events list. [+] New type of component added to the MCK: TKOLDataModule. It is for using in place of TKOLForm component to collect a set of components (mainly non-visual) on a separate design-time form. Though referencing between objects from different units is not possible at design time, this component can be useful to avoid jamming the form with a lot of non-visual components.
|
|||||||||||||||||||||||||
KOL & MCK v0.74 (14-May-2001) [=] TTimer previous changes were made not too carefully. Both Pascal and Assembler versions fixed. [-] MCK installation problem under Windows95 fixed. As it is found, BroadcastSystemMessage API function was declared incorrectly in windows.pas unit, erroneously referencing function BroadcastSystemMessageA, which does not present in USER32.DLL living under Windows95. Instead, BroadcastSystemMessage entry should be used, present everywhere. [*] When an icon can not be assigned to listview subitem because of too old version of comctl32.dll, assert exception is not generated now. But, all other states of the subitem also can stay unchanged (LVSetItem procedure). [*] Starting from this small update, several follow ones will be delivered to You using small Updater utility, so download size is reduced a lot.
|
|||||||||||||||||||||||||
KOL 0.73 (13-May-2001) [-] The most of resource and memory leaks are fixed. Very big (no, VERY BIG) thanks to Vyacheslav A. Gavrik, who reported several bugs, and made some useful suggestions to fix it. (And he suggested some other useful changes in KOL, too). [+] New methods GetSectionNames and SectionData for TIniFile object (by Vyacheslav A. Gavrik). [*] To simplify further working with proofing tools and code insight in Delphi5, all inc-files are merged with the KOL.PAS again (1,5 Mb). And to minimize downloaded updates size, the PatchMaker / Patcher utilities will be used starting from the next version (current version is distributed in a single archive). [-] Tab control changes: tcoBorder option added, which simulates previous tab control behaviour, when a border (sunken) was appear around the control. Now tab control by default has no border (like similar TPageControl in VCL). Correspondently, in MCK, TKOLTabControl.edgeType implemetation changed and default style (without border) does not require additional code as earlier. [-] Double call of OnRE_URLClick event fixed (rich edit control, click on URL link) - fixed. MCK 0.73 (13-May-2001) [+] VerticalAlign property provided for TKOLPanel mirror. Also, VerticalAlign and TextAlign both applied to TKOLBitBtn (forgotten earlier). [+] Property Font added for TKOLTabControl. See also KOL 0.73 changes, with which drawing of edit, memo controls fixed on tab control with edgeStyle = esNone. [-] Resource names for icon resources, generated automatically (e.g. for TTrayIcon) are starting now from 'z' character to provide for 'MAINICON' resource (i.e. for icon, representing the application) to be the first. Since this, windows explorer shows correct application icon in a file list now. [-] Some efforts made to solve a problem with inserting definitions for new controls of the form by Delphi designer not to an appropriate place. This bug was found usually just after creating new MCK project. Now, every time, when code is generated again (with every change in form and its controls), source is checked to move {$ENDIF} directive to the correct place. This solvation should working both for newly created MCK projects, and for old projects too. [+] Properties SimpleStatusText and StatusText implemented for TKOLForm component. [+] Property MaxTextSize and event OnRE_URLClick added for TKOLRichEdit component.
|
|||||||||||||||||||||||||
KOL 0.72 (7-May-2001) [+] TImageShow object added (similar to TImage in VCL). It allows to show an image from TImageList object. Correspondent TKOLImageShow mirror component also added to MCK. [+] Events OnShow and OnHide added for TControl. Also, these events are both implemented at design time (in MCK). [-] Pascal version of TControl.Run fixed a bit (sometimes failed to assign nil to a variable, passed as a parameter, at the end of executing). Asm version worked properly therefore. [-] Pascal version of TControl.GetCurIndex fixed (assembler version was working fine). [-] Asm version of OnSelChange event handling fixed for tab control. Also, forcing OnSelChange event added for case, when CurIndex is changed programmatically (notification message TCN_SELCHANGE is not sending in such case automatically by Windows). [+] Methods BringToFront and SendToBack added for TControl to simplify changing Z-order of controls at run time. [-] Asm version of TBitmap.FillBmpWithBkColor fixed (used when width or height of bitmap object was changed). Also, asm version of TBitmap.FormatChanged fixed (did not work properly for case of changing PixelFormat to bmDDB, and when width or height of bitmap was changed). [+] Method PopupEx added to TMenu object. For pop-up menus, it provides correct menu behavior under menu for case, when the form, parent to popup menu object is not visible. [-] OnMouseXXXX events call for panel control fixed (were not called at all). [-] OnMouseEnter / OnMouseLeave events handling changed and fixed. For now, _TrackMouseEvent function is used, which makes this more accurately, than mouse capturing method, used before. This also tested for glyph bitbtn control, for case when those events are used to change it states. MCK 0.72 (7-May-2001) [+] Design-time property wordWrap added for TKOLLabel. It determines only what function is used to create label object: NewLabel or NewWordWrapLabel (so, this property can not be accessed at run time). [-] TKOLTabControl: generating code to setup properties and events for Pages of tab control provided (was missed). Also, showing certain page defined by CurIndex property at startup fixed (new method BringToFront used to ensure changing current page). [-] It is now possible to add another functions, procedures, containing 'begin' reserved word, into dpr-file of a project. (In earlier version, the first line, containing 'begin' erroneously was detected as a place to insert defines, needed to indicate mck project for Delphi compiler). This fixed by adding a mark comment for actually needed begin operator the first time, when project is converted. [-] One more fix for parentFont, parentColor property. Now those become FALSE automatically, when Font, Color are changed in The Object Inspector. [-] Generating OnMenu event assignment fixed for TKOLTrayIcon mirror. [-] TKOLImageList component editor fixed. Now it does not corrupt bitmap after editing it. [-] TComponent descendant components usage on MCK form fixed for Delphi3.
|
|||||||||||||||||||||||||
Site news (3-May-2001) Several answers are added on FAQ page. KOL 0.71 (3-May-2001) Note: When MCK v0.70 was released, KOL was not changed, so version 0.71 of KOL follows immediately after 0.69 to keep synchronous version numbers between KOL and MCK. [+] OnDropFiles event is added for TControl. It allows to your applications to accept dropping files very easy just assigning an event handler. (Correspondent changes are made already in MCK 0.71, so You can implement drop files acceptance in your MCK projects very easy). [-] OnSelChange event was called twice for tab control, when page was changed by mouse - fixed. [*] Methods GetWindowHandle and CreateChildWindows moved to public section in TControl declaration. GetWindowHandle allows to force control's window handle to be allocated but without showing its parent form on screen, if it is yet not shown in process of creating (this prevents flicks on screen during the process of the form appearance). CreateChildWindows also useful for creating controls dynamically. [-] TTrayIcon.Destroy asm version revised and fixed. [-] TIcon.Convert2Bmp fixed for icons with size different from system default (usually 32x32). Thanks to Basil Matveev, who've found this bug and reported it. MCK 0.71 (3-May-2001) [-] OnSelChange event added for TKOLTabControl. [-] Tooltip property initialization added for TKOLTrayIcon. [-] FontPitch, FontOrientation and FontCharset initialization code generation fixed. Thanks to Jean-Marie Delbary, who found and reported this bug. [-] Properties parentFont, parentColor now allows to inherit font/color of parent recursively for all child controls having those flags True. [*] Property Locked added to TKOLForm and TKOLProject, which both become locked, when VCL controls are found on a form. When TKOLForm / TKOLProject are locked, these are not functioning, preventing possible damages in VCL-based projects. Since this, dropping of MCK mirror components onto the form of VCL-based project becomes not too dangerous. [+] Code generation is added for VCL's TComponent
descendant objects, placed onto MCK form. It is now possible to use non-visual VCL
components (not controls) in KOL-MCK projects, even to adjust those at design-time. The
only restriction is, that code auto-generation is not supported when properties of such
objects are changed - TKOLProject component should be double-clicked
(e.g.) to do this. [-] The way how OnFormDestroy called is changed so it is now called properly in all cases - both when form is closed by appropriate message or calling Free method programmatically. [*] Special (public) field called "FormPointer_DoNotUseItPlease_ItIsUsedByMCK" introduced in KOL's TControl to use as a pointer to form holder object, so Tag of the form is now free for use again in MCK projects.
|
|||||||||||||||||||||||||
MCK 0.70 (30-Apr-2001) [+] Mirror TKOLTabControl for tab control (known as page control in VCL) is added. With this mirror, mirrors are ready almost for all visual controls in KOL. [+] Mirrors for non-visual objects TKOLColorDialog, TKOLTrayIcon are added. [*] TKOLPaintBox accepts now controls dropped onto it as children, so it can be used as a custom-painted panel.
|
|||||||||||||||||||||||||
Site news: [*] The mirror kol.nm.ru abandoned. It became too slow to be really useful. Remember (bookmark) the address: XCL.CJB.NET . KOL 0.69 (28-Apr-2001) [+] SysErrorMessage function added to format system error message to a string. [+] New add-on package kol_service.zip with Service.pas unit is provided. It contains definitions of two objects: TServiceCtl and TService, which allow to create and maintain Windows NT services. MCK 0.69 (28-Apr-2001) [-] TKOLToolbar: design-time component editor fixed for Delphi5. [-] Properties parentFont, parentColor behaviour is changed a bit. Now it is possible to assign False to it at design time to make Font or Color of the object independant from its parent even if these are equal yet. [+] Now TKOLApplet is not really needed to be dropped onto form for case of a single form even if TKOLTimer used, which requires an Applet variable to be assigned. For this case, an assignment of the form object to the Applet variable is generated well.
|
|||||||||||||||||||||||||
Site news: [+] On the FAQ page, an answer added to a question, how to create DLL, containing KOL form. KOL 0.68 (26-Apr-2001) [-] TOpenSaveDialog.InitialDir assignment fixed in NewOpenSaveDialog function. [-] Stream2Stream fixed for case when source is memory stream (current Position was not increased). [-] TStream.Seek asm version fixed. [-] TBitmap.Dormant fixed: when Canvas was used already, resource leak occured. Changing format procedure also improved to work more correctly for case of pf15bit PixelFormat. [*] OnDestroy event is called now before destroying children, handle, etc. for TControl. [*] Some fixes and changes in documentation: TColorDialog is commented and shown in auto-generated help, some comments are changed to use new features of xHelpGen v3.0 (updated this week), some comments are revised.
MCK 0.68 (26-Apr-2001) [-] First setup Checked := True and SetRadioChecked added for TKOLCheckbox and TKOLRadiobox when these are checked at design time. xHelpGen 3.0 (19-Apr-2001) [+] Multi-language support. Though, comments for all the controls are not yet ready for the second language yet. (Russian comments will be provided). [+] Local glossary support added. This simplifies mainainance of related comments in a big source (important for KOL). [-] Support of interface, interfaced class, overload directive, case in record, packed object, nested declarations fixed and improved.
|
|||||||||||||||||||||||||
KOL 0.67 (15-Apr-2001) [+] Two models to derive your own controls on base of TControl are provided. The first uses the standard OOP capabilities and requires USE_CONSTRUCTORS option to be turned on. This way leads to increase the size of executable a bit, so it is still optional. The second allows You to extend TControl from the interior. You just turn on USE_CUSTOM_EXTENSIONS option and provide three files CUSTOM_TCONTROL_EXTENSION.inc, CUSTOM_KOL_EXTENSION.inc and CUSTOM_CODE_EXTENSION.inc, where You place your own code. Because KOL distributive does not contain such files, these are never replaced, so You can implement there what You wish.
[-] A bug in LVItemAdd, LVItemInsert fixed. MCK 0.67 (15-Apr-2001) [-] A small bug with InitialPath property for TOpenDirDialog fixed.
|
|||||||||||||||||||||||||
KOL 0.66 (8-Apr-2001) [-] CanResize property fixed (asm version of SetCanResize procedure). Restoring of form size after minimization when its property CanResize is set to False fixed too. [-] A bug with TMenu's OnMenuItem individual events fixed. (asm version). [-] A bug with toolbar having a single button fixed (asm version). [-] Another toolbar "feature" corrected. Now only one event OnClick is occur when click was on toolbar but not on one of its buttons. This is made now for both left and right click. In both cases CurItem and CurIndex are assigned to clicked button id and index, or to -1 when click was out of buttons area. [-] In result of some "shaman dancing" methods TObj.Init and TObj.Destroy fixed for Delphi3 and Delphi2. Now it is possible to destroy visual objects at run time without problem, and OnDestroy event works properly. The most of these problems were found in assembler version of code. [+] Following property and functions are added to TControl for list view to get know what items are selected easy:
With these new supplements a lack of list view functionality in KOL is filled up. [+] For your convenience, method Close is added to TControl. If applied to a main form or Applet object, it terminates the application. Also following functions are added: ShowMsg( S, Flags ), ShowMessage( S ), ShowMsgModal( S ). [+] Method MinimizeNormalAnimated is added for TControl. If applied (once) to a main form, it provides normal animation from a caption of main form to application taskbar button. Also, correspondent design-time property added for TKOLForm mirror of MCK. MCK 0.66 (8-Apr-2001) [*] parentFont property now is working by another way and serves to apply all changes in parent's font to font of children immediately - not only to show if a font is equal to parent's one and to generate optimal code. (Do not forget, that Font of TKOLForm should be changed, not the Font of a form itself). [+] parentColor property added for the same purpose. [*] More advanced technique of accessing and
updating the source directly in IDE editor applied. There are no more restrictions to load
automatically generated inc-files into IDE. TKOLProject's property protectFiles
is now obsolete. Protecting of such files is abandoned to allow updating of those from the
IDE editor automatically. [+] Mirror for a toolbar is implemented: TKOLToolbar. It is tested in all Delphi32 versions (D2, D3, D4, D5). The only difference under Delphi2 is that API CreateMappedBitmap fails, so a property mapBitmapColors introduced to allow to generate code which does not use color mapping. [*] An event OnDestroy applied also to TKOLForm. [-] Generating .SetSize( 0, 0 ) removed in automatically created code. (This had no effect, but not optimal).
|
|||||||||||||||||||||||||
KOL 0.65 (1-Apr-2001) [-] Memory leak with releasing huge string members of KOL objects fixed. As it is found, poor Pascal object does not release these automatically. Fortunately, there were no many such fields found in KOL objects. E.g., TControl contains only one of such members - FREUrl, which for most cases was never assigned. [+] Another archive kol_err.zip is available for download. It contains units ERR.PAS and KOLMATH.PAS, which are intended to replace standard SysUtils and Math units in part of exceptions handling. ERR.PAS increases size of the executable only about 6K (instead of 11K when SysUtils used), and allows to work with try-finally, try-except, try-except-on, raise in projects, developed with KOL. MCK 0.65 (1-Apr-2001) [+] TKOLOpenSaveDialog and TKOLOpenDirDialog mirrors for TOpenSaveDialog and TOpenDirDialog are added. [+] OnDestroy event is added to all the mirrors of KOL controls and objects. [=] Known bug in Delphi2: OnMenu events are not available for separate menu items. Therefore, OnMenuItem event for entire menu is available and works properly. This bug is appearing only in Delphi2. All other Delphi versions work normally with OnMenu events.
|
|||||||||||||||||||||||||
KOL 0.64 (25-Mar-2001) [-] UpperCase and LowerCase asm version fixed for case of empty string parameter. (Thanks to Rick B. for the bug report). [+] List view control is improved. New properties and methods are added:
[+] Also owner-drawn style and virtual style list box are provided:
[+] By the same way owner-drawn combobox is provided:
[+] New property ItemData[ Idx ]: DWORD is available for list box and combo box to assosiate any user-defined data with list box / combo box items. MCK 0.64 (25-Mar-2001) [+] All new events and styles are applied to TKOLListView, mirror of KOL list view control. [+] All new owner-drawn events and styles are applied to TKOLListbox, mirror of KOL list box control. [+] All new owner-drawn events and styles are applied to TKOLCombobox, mirror of KOL combobox control.
|
|||||||||||||||||||||||||
KOL 0.63 (9-Mar-2001) [-] SetPosition method, assigning 0 to Left or Top properties of a form fixed. Now CW_USEDEFAULT constant is used only in case than Left and Top properties both were not changed before showing the form. [-] Assembler version of SortData procedure fixed. [*] An event OnDestroy is added to a base object type TObj (so, any KOL object or control has now this event applicable). MCK 0.63 (9-Mar-2001) [+] Several mirrors are added: TKOLGroupBox,
TKOLCheckBox, TKOLRadioBox, TKOLEditBox, TKOLMemo, TKOLListBox, TKOLComboBox,
TKOLSplitter, TKOLPaintBox, TKOLListView, TKOLTreeView, TKOLRichEdit, TKOLProgessBar. [-] Problem with string property, which contains apostroph, caret return and other control characters, fixed. [-] TabOrder property usage fixed. Now controls are created in the order, determined by the TabOrder property value, so there are no generating of the assignment of a value to the TabOrder property. [-] Problem of correspondance of visual placement of child controls at design time and run time is partially solved. Some efforts made to overcome the absence of the client area border on design time mirror components. At least, for non-aligned controls children are placed at run time exactly at the same position, where these are placed at design time. (For aligned controls, this problem is not too serious, and for implemented set of mirrors, the only TKOLPanel is actually important, which has the difference only 3 pixels or less, depending on parent TKOLPanel.edgeStyle property value). Special property editors (for Delphi5 only) are provided to visualize Left and Top properties as these should be at run time (these have no effect while direct editing of the property though). All changes above are tested for Delphi5, Delphi4, Delphi3, Delphi2 under Windows 2000.
|
|||||||||||||||||||||||||
[-] SetCanResize asm version fixed (thanks to Dalibor Toman). [-] Assigning value to MaxProgress property fixed - for progress bar control. [-] TOnEventAccept type declaration fixed (TObject replaced to PObj, as it should be). [+] Some other registry functions are added: RegKeyOpenCreate, RegKeyExists, RegKeyValueExists. [*] For TOpenSaveDialog, now ';' in filter is not assumed to be a divider between filter strings (only '|' should be used for such purpose). Since this, it can be used as a separator between multiple filters in a group of filters. I recommend to visit Thaddy's KOL Web Page and to see small FTP explorer which is about 60K even without system dcu replacement's !
|
|||||||||||||||||||||||||
MCK 0.61 (30-Dec-2000) Small fixes for Delphi5: [-] Incorrect function QueryFormDesigner in mirror.pas seems was a problem - fixed. [-] Some changes in documentation made - how to convert project to KOL first time. In Delphi5, it is necessary to add a path $(Delphi)\Source\ToolsApi to search path of newly created project (it seems this is not necessary in all other Delphi versions). HAPPY NEW YEAR
|
|||||||||||||||||||||||||
[+] <!!!> A mirror (be carefully, complex of mirrors) added for a menu - with its own design time component editor and some property editors. TKOLMainMenu and TKOLPopupMenu are support bitmap and accelerator key assignment at design time, menu bar is emulated well for main menu at design time. [+] Small new feature added for TKOLProject component. Double clicking it twice forces converting project to KOL. This is equivalent to select TKOLProject in Object Inspector and double click BUILD property value. [*] Small change: now all the published properties, which are available only at design time (or at least do not match to correspondent ones in KOL - at run time), are named in small capitals. KOL 0.6: [-] Assignment of a an event OnItem to menu item fixed - for case when such events are assigned separately (not using AssignEvents method once for all event handlers). [-] Asm version of WndProcMouse fixed, and not only OnMouseMove now handled correctly.
|
|||||||||||||||||||||||||
By some disaster reasons (HDD RIP :((( ), this issue was delayed for some days. But therefore, an essencial progress was achieved, including compatibility with earlier versions of Delphi, and implementing some important capabilities. MCK 0.5 (19-Dec-00) [+] Some problems are solved. Mirror for panel, TKOLPanel component added, and generating code for tree of children is implemented well. Two visual mirror classes for non-visual objects added: TKOLTimer and TKOLImageList (the last - even with component editor). With the last, mirror for KOL's bitbtn added: TKOLBitBtn, with capability to use loaded Bitmap or certain ImageList: TKOLImageList to store images to draw. [+] Generating code for case of single form without special Applet window changed to allow for some objects to refer to it via Applet pointer (e.g., to be used by timer objects). [+] Compatibility with Delphi4, Delphi3 and Delphi2 provided. Since TBitmap in Delphi2 is much easier and does not support DIB bitmaps, I can not promise too good working with graphics at design time. Therefore, MCK components can be installed onto Component Palette without problems and work fine. KOL 0.5 (19-DEC-00) [+] VerticalAlign is implemented also for labels and panels, not only for buttons. Also TextAlign is now applicable to panels. Unfortunately, (bottom-aligning of text on label and panel can not be achieved, because of using <static> GUI controls to implement it. [-] Asm version of BitBtn fixed (painting was not correct for other GlyphLayout, then glyphLeft). [+] Compatibility with Delphi2, Delphi3 and Delphi4 for KOL itself provided (problem was with using TGUIThreadInfo, and because of bug in D2-D4 with incorrect declaration of GetPrivateProfileStrucuct / WritePrivateProfileStruct in windows.pas, and with some other differences).
|
|||||||||||||||||||||||||
MCK 0.4
(11-Dec-00) [+] Source retrieving / updating methods are
improved: now pas-units and dpr-file are obtained from and stored to Delphi IDE
Editor directly, if these are always opened there (not only from / to file on
disk, as earlier). This solves problem of source files synchronization between KOL
code completion and editing code in IDE at design time. [+] Adding of form became very easy operation with change above. [+] There is not necessary now to have main form with TKOLProject component on it always opened. But changes are applied to code immediately, and always like in AutoBuild mode, so be careful. [*] Minimal value for AutoBuildDelay now = 0 (and means that there are no delay at all). [+] Problem of form renaming is totally solved. This can be done easy by changing property FormName of TKOLForm component located on the form. (But if main form is not opened in designer, operation is failed, and message to instruct to open main form is displayed). [+] Now TKOLProject can automatically detect path to project source and dcu output directories, and no more dialog to select source path appearing when new visual KOL project is started. <*> Note: MCK now is designed under Delphi5, but it is provided with sources, so when compatibility of KOL itself with different Delphi versions will be provided, I am sure, that MCK also will work in Delphi3 and Delphi4.
|
|||||||||||||||||||||||||
MCK 0.3
(10-Dec-00) [-] Message 'Invalid typecast' when dropping TKOL... component onto form eliminated. [-] TKOLProject.AutoBuild fixed and now works properly. [-] Problem with converting of newly added form to KOL solved. Problem of renaming of form is not yet solved (but all needed changes can be made manually). [+] Console added to show log - for debugging purpose only. But it can be useful to find out what is wrong. [*] Structure of dpr changed to allow more
automatic forms maintanance. This also resolves problem of including of constructors for
all (autocreated) forms, even not opened in IDE, into code (_2.inc-file). Property [*] Design-time property TKOLForm.DefaultSize
replaces KOL 0.391 (sorry,
this bug was erroneously claimed as fixed, but actually not - code was lost on the
way...):
|
|||||||||||||||||||||||||
KOL 0.39
(9-Dec-00)
[-] TrimRight fixed (asm version, all characters #128..#255 were trimming). [-] DelimeterLast, ExtractFilePath/Name/Ext/NameWOExt pascal versions fixed. [-] TDirList.ScanDirectory asm-version fixed (the last backslush is not necessary now in path passed as a parameter). [-] Hex2Int (Pas-version) fixed: non-hexadecimal characters were skipped instead stopping scan process.
[*] TControl.Click method is changed for button control (now it is sending WM_COMMAND with BN_CLICKED=0 code). [-] TIniFile.ValueBoolean fixed: in ifmWrite mode, always False was returned. [-] SortData fixed (asm-version): was sorting incorrectly sometimes (but with no faults therefore). [-] TControl.WndProc asm version fixed (great thanks to Peter Feldbaumer and Alexey Shuvalov, who reported about the bug - with incorrect handling OnMessage for case of single form). Also, both Pascal and and asm version are changed to allow sequential handling of OnMessage and dynamic handlers first by Applet, and then by the form - until message is handled and True returned. [+] New version (2.0) of xHelpGen application is published. It is now ported to KOL and improved a lot.
|
|||||||||||||||||||||||||
KOL 0.38 (2-Dec-00) [+] New project started - KOL Mirror Classes Kit. It is now published
in following state: 5 mirror components are ready to register it on Delphi Component
Palette: TKOLProject, TKOLForm, TKOLApplet,
TKOLButton, TKOLLabel. This is only a sceleton model,
but it works, and allows even to assign event (OnClick). Designing of forms,
adjusting of properties and writing code for event handlers can be made at design time,
and when mirror project is started, real KOL project is created. Then, it can be opened in
IDE, compiled and debugged.
|
|||||||||||||||||||||||||
KOL 0.37 (26-Nov-00) [-] Asm version of NewApplet fixed (was: incorrect minimize/restore system menu commands preparing). Also TControl.WndProc (asm version) fixed for SC_MINIMIZE command handling. [-] toolbar: TBAddButtons method
(asm-version) fixed for case when there are no buttons added first time in NewToolbar
call. [+] Method Click added to TControl. For
controls, which (like buttons), can be clicked via WM_COMMAND message, this
message is performed with the most appropriate code parameter. Otherwise, clicking is
simulated by performing WM_LBUTTONDOWN / WM_LBUTTONUP
messages. [+] Windows utility functions ported from XCL with some changes: FindWindowByThreadID, GetDesktopRect, WindowsShutdown. New functions added: GetWindowChild( { wcActive, wcFocus, wcCapture, wcMenuOwner, wcMoveSize, wcCaret } ), GetFocusedChild, Stroke2Window, Stroke2WindowEx.
[*] CanResize property is implemented by another way. It now prevents window resizing monitoring WM_GETMINMAXINFO message in dynamically attached procedure. Since this, any attempts to resize window (e.g. using external tools) are failed. (So, assign False to CanResize property of form only after finishing of placing all controls on it and all necessary size adjustments, just before showing it in its ending size and position).
|
|||||||||||||||||||||||||
KOL 0.36 (19-Nov-00) [+] FontWidth property added for TGraphicTool, implementing font object. This allows to scale fonts non-proportionally, i.e. to scale it in given direction (e.g. vertically) leaving another direction untouched. [-] ExtractFilePath, ExtractFileName, ExtractFileExt, ExtractFileNameWOExt functions fixed for case when only name is present or path contains only drive letter without slush (e.g., 'AAA.TXT', 'C:AAA.TXT' ). [+] Non-visual TTree object added. (Not for representing trees, but to organize data in memory.) [-] Asm version of TDirList.ScanDirectory fixed (always current directory was scanned). [-] Asm version of function IndexOfCharsMin fixed (result was not the first, but the last required character). This function was used very rare, but therefore could affect some of code. [-] Asm version of functions LowerCase and UpperCase fixed ('Z' was not converted to 'z').
|
|||||||||||||||||||||||||
KOL 0.35 (14-Nov-00) [-] Some fixes for TBitmap (asm version of GetCanvas and FormatChanged methods).
[-] Notes added for NewToolbar (how to fix incorrect sizing of buttons under Windows9x in case when all buttons have no text labels). [+] HasBorder property now works for controls too, not only for forms. (Though Bitmap.inc and Icon.inc files are affected, these are included to kol.zip archive, so download only this package now).
|
|||||||||||||||||||||||||
KOL 0.34 (29-Oct-00) [-] Some fixes for ImageList, used with tree view and list view controls. Image lists with any size are now recognized well. Problems with overlay image are solved (property Overlay[1..15]: integer added for TImageList object to determine which images to use as overlaying ones). [+] Two functions added to work with text in clipboard: Text2Clipboard and Clipboard2Text. [+] Property AutoRecreate added to TTrayIcon. When set to true, it provides auto-recreating (re-activating) of tray icons in case of explorer restart. [-] Asm version of splitter control window procedure fixed. [+] Another "transparent" method added: Size( w, h ) to simplify adjustment of controls. It is very like to SetSize method but specially designed for aligned controls and provides correct resizing of such ones, automatically resizing its parents (recursively, if needed). [+] Property ToBeVisible added. It is True, when control is Visible or temporary invisible because of creating its parent form/control hidden (but it becomes Visible together with showing its parent form/control). Though this property is mainly for internal purposes, it is possible to use it instead of Visible in a project. [a] The rest of basic procedures is compiled to basm, so minimal size of executable, containing only single empty form (see TestKOL.dpr), is now only about 13K. (And can be made only 8K after stripping relocations and compressing with compressor utility).
|
|||||||||||||||||||||||||
KOL 0.33 (22-Oct-00) [*] Sorry a lot, but due translating of WndProcKeybd procedure to BASM, I decided to change TOnChar event type and to add parameter Shift, which bring a combination of shift states like for TOnKey event. This is the first time for a long period, when I make a decision, which can affect your code and You should change it (if You use OnChar event). Only what compensate for us, this change allowed to make WndProcKeybd asm code about 168 bytes smaller then in Pascal version. [-] Asm version fixed for NewForm, NewPaintBox, NewWordWrapLabel and ApplyImageLists2Window (the last was wrong for NewListView mainly).
|
|||||||||||||||||||||||||
KOL 0.32 (15-Oct-00) [+] Event OnTestMouseOver added, which allows to improve testing if mouse is actually over the control (useful for non-rectangular bitbtn buttons). [-] ShowModal (method of TControl) fixed (if modal form is closed with default close button, it is now set its ModalResult to -1 and not destroyed). Thanks to Michael A. Sewell for this bug report. [-] RichEdit: RE_SearchText fixed. Another parameter added - ScanForward. Thanks to Michael A. Sewell for this bug report. [-] Combobox: Tabulating fixed again for comboedit (when coReadOnly is not in Options). [a] A lot of code converted to BASM and optimized. Unfortunately, I have to stop temporarily sending newsletter mail because of some problems with this service (mail can not be delivered properly to about 10% of recipients, instead I receive about 70 mails about unsuccessful attempts to do this every time). Therefore, You still can subscribe here for future. Sorry for inconvenience. At least, I promise, that this page will be updated every weekend, so check if it is changed every Monday or Tuesday.
|
|||||||||||||||||||||||||
KOL 0.31 (8-Oct-00)
[-] ListView fixed for StateImageIndex and OverlayImageIndex (LVInsert, LVAdd methods of TControl). Also lvsDetailNoHeader style fixed for ListView control. Thanks to Mike Talcott for his report and advises. [-] RichEdit: assigning values to RE_FmtBold, RE_FmtItalic and so on (which are boolean) fixed. Asm version of SetSelLength fixed. [*+] Method Add improved and now it is understanded by Edit controls too. For RichEdit control, it is necessary to access RE_Text property at least once to provide appending text with Add method.
[+] Now button (usual or BitBtn) can be non-focusable, like TSpeedButton in VCL - with applying new method LikeSpeedButton. [+] Events OnMouseEnter / OnMouseLeave and property MouseInControl added for TControl. [-*+] Last announce about fixing Transparent for edit control was not correct a bit. Now special property Ed_Transparent added for TControl, which actually makes edit control transparent while editing, selecting and scrolling editbox content with keyboard and mouse. [*] Remarks made how to get vertically oriented toolbar.
|
|||||||||||||||||||||||||
KOL 0.30 (1-Oct-00) [-] TTrayIcon fixed: now icon is removed from tray automatically only if master window receives WM_CLOSE or WM_NCDESTROY message (earlier handle was not checked, and all tray icons was becoming not Active in result of destroying of any form). Thanks to Vadim Petrov for bug report. [-*] Tabulate and TabulateEx
methods are fixed. Now, both WM_KEYDOWN and WM_KEYUP are
analized, and though tabulating occure on WM_KEYUP only, undesired handling
of key by control in both cases is prevented (though OnKey... event
is called therefore). Since this, pressing arrow up key in single-line edit
control, for example, leads only to tabulating to previous control, and without
changing of position in edit control. [-] TOpenSaveDialog fixed for DefExtention assigned (asm version). Thanks to Ferenc Lutischan for bug report. [-] Event OnMessage fixed for forms and now is called not only for main form or applet, but for any control too. Thanks to Carlo Kok for report about lack of correspondance of behaviour with documentation. [-] TControl.GetCaption asm-version fixed for case, when caption is empty. Thanks to Erik Nordlund for bug report. [-] LabelEffect over GradientPanel fixed (window procedure changed a bit for LabelEffect). Also, DoubleBuffered for form fixed (and all similar pieces of code are checked to avoid possible bugs in double-buffered drawing). And, Transparent is fixed for Editbox (now it is possible to edit text in transparent editbox, placed over gradient panel too, but until its content is scrolled horizontally). [-] MemoryStream: SetPosition fixed (and returns now new position, like FileStream). [a] Statusbar-related code is translated to BASM. KOL_INC changes: [-] In graphics.inc, asm version of TGraphicTool.MakeFontHandle fixed a bit (assigning value to FontWeight property). Some serious changes made in inc-files, so with version 0.30 You have to download both kol_inc.zip and kol.zip.
|
|||||||||||||||||||||||||
KOL 0.28 (24-Sep-00), KOL 0.29 (27-Sep-00) [-] Some fixes for Toolbar control:
[*] Fixes and changes for Listview control:
Other:
If You have already downloaded v0.27, just download new version of kol.zip (kol_inc.zip is not changed).
|
|||||||||||||||||||||||||
KOL 0.27 (23-Sep-00) [-] Fixed: CPU Usage showing by Windows Task Manager, now lowered from 100% to normal value (call of WaitMessage inserted to message loop). [*] The most of static calls (by pointer) of extended control's window procedures
replaced to dynamic handlers. This makes code smaller and fast a bit, and
increases flexibility for programming new features. (Though the are no changes in
interface to objects and since there are no needs to change anything in your projects). [*] RichEdit:
[-] Function StrIsStartingFrom fixed (thanks to Marco Bobba - Marisa Bo). [*] Starting from now, KOL archive is separated onto two zips: kol.zip, containing kol.pas and sample dpr sources, and kol_inc.zip with all other stuff, including .inc-files, needed to install KOL. The second contains parts, which are changing rare, so You have to download it only if it is changed (I will tell You with every new release of kol.zip, whether new version of kol_inc.zip is published).
|
|||||||||||||||||||||||||
KOL 0.26 (15-Sep-00)
[+] Selection(: String) property for edit and RichEdit control. [+] TControl.TabOrder property - very like to VCL (but with adding code, needed to change it, only if TabOrder is changed in project). [+] TControl.Focused property for TControl. [+] Method TControl.SelectAll (for edit, rich edit) [+] Function File2Str( F ): String [-] Fixed text align style for list view control (LVColAdd method). [-] Fixed: asm-version of TControl.GetClientHeight.
|
|||||||||||||||||||||||||
StrDB unit (13-Sep-00) [+]
Additional unit StrDB.pas by Mike Talcott. It contains TStrTable
object, incapsulating simple database table with fixed fields (named). Created table can
also be accessed from MS Access (text file with fixed widths - with some limitations).
|
|||||||||||||||||||||||||
KOL 0.25 (13-Sep-00)
[-+] Fixed: DoubleBuffered property. Transparent and DoubleBuffered drawing is improved a lot.
[+] TMediaPlayer transladed to BASM. Some other properties and methods are added to TMediaPlayer to control speed, volume and turn on/off audio or/and video. [-] Fixed: Combobox when option coReadOnly omit. In this mode, keys "Escape" and "Enter" close up dropped down combobox list normally now. ("Escape" means cancel selection, "Enter" - confirm new selection, as usual). Also default sound removed when tabulating from combobox - by changing tabulating handling algorithm a bit (now it process WM_KEYUP, not WM_KEYDOWN message. This allows not to receive correspondent WM_KEYUP in newly focused control). [*] IDC_IBeam cursor provided automatically now for edit control. [+] AddDirList method now works for Combobox too (initially it was created for Listbox only). [-] Fixed: CenterOnParent method of TControl (asm version). Thanks to Y.X.B. for report. [-] Fixed: pressing Tab key in edit control now moves focus to another control only, but if (new) style eoWantTab is used in create edit control, this key inserts "tab" character to a text instead. [-] Fixed: ExtractFileName, ExtractFilePath, ExtractFilaNameWOExt, ExtractFileExt. Thanks to Y.X.B. for report.
|
|||||||||||||||||||||||||
KOL 0.24 (05-Sep-00) [-] Some fixes for TBitmap (mainly ASM version, and pf16bit format). [-] Fixed: fsBold style for Font (asm version). [-] Fixed: DoubleBuffered temporarily disabled due some problems in using it under Win9x. For LabelEffect, it is changed to work correctly without DoubleBuffered (but with some flicks possible). So, GradientPanel and GradientPanelEx are both working properly (small fix made for GradientPanelEx - asm version to provide working without DoubleBuffered as well).
|
|||||||||||||||||||||||||
KOL 0.23 (30-Aug-00)
[+] TIcon ported from XCL (originally, ZIcon). Several methods to load from resource and from another executable added. [-] Fixed: asm version of TControl.GetCanvas [+] TBitmap translated to BASM.
|
|||||||||||||||||||||||||
KOL 0.22 (19-Aug-00)
|
|||||||||||||||||||||||||
KOL 0.21 (13-Aug-00) [+] Compatibility with Delphi2 provided. [-] Changing TControl's property Font subproperties fixed.
[-] AnsiCompareStrNoCase, _AnsiCompareStrNoCase functions fixed (did not work in Windows9x). Consequensly, TDirList.Sort now works correctly in Win9x.
[-] Fixed: working of accelerators of current form when applet button window is used. [-] Fixed: asm version of mouse events handling. (And improved a bit). [+-] TStrList methods translated to BASM. Fixed: freeing memory when destroyed. Improved: working with huge lists much faster now. [+] For OnClick in toolbar, it is now possible to know if it was made by right mouse button (property RightClick). [-] Small fix in xHelpGen (Pascal code highlighting - reserved word 'then'). Comments added for TIniFile and some other objects.
|
|||||||||||||||||||||||||
KOL 0.20 (8-Aug-00) [-] TStrList.SaveToFile fixed. (SetEndOfFile call added to truncate file). Also, Write method changed by the same way for 'WriteFileStream'. Made notes about 'ReadWriteFileStream', that it is necessary to set its new stream Size programmatically (to provide truncating it, if necessary). [+] Method Clear added to TControl to provide different clear procedures for every visual object (e.g., for label, button, etc. it clears Caption =Text, for aggregate controls like listbox, listview, toolbar it removes all items etc.) [+] Some improvements for toolbar:
[-] Fixed: comments about separators in toolbar. It is necessary to pass any integer in place of bitmap image index correspondent to separator to assign other image indexes correctly.
[+] Some comments are added / fixed in source to be used with (announced above) Help Generator.
|
|||||||||||||||||||||||||
KOL 0.19 (2-Aug-00) [~] First about transparency. As You could see, some of controls (ListBox, ListView, Combobox, Editbox) - are not friendly for this property. It is not possible to provide full transparency support for such controls without owner-drawing. This contradicts with main idea of KOL - using of control's ability to draw itself without inserting of additional code to a program. So, I decide to provide transparency only for several basic controls (see TestKOL3 sample).
[-] Fixed small bug in TMenu.ParentItem which caused to insert hidden earlier menu item to the end of menu (wrong, certainly, but without further consequences).
[+] Added OnDropDown event (the same for combobox and drop-down buttons of toolbar), and OnCloseUp event (for combobox). [+] Added properties ProgressColor and ProgressBkColor
for progressbar control (implemented in TControl object). [-] ListView.Items[ ] property fixed for columns > 0 under Windows < 2000. [-] TObj.fRefCount initialization fixed for Delphi3 (as a result, image list maintainance is fixed for TObj, and projects with List view instances are exiting normally when compiled in Delphi3).
|
|||||||||||||||||||||||||
KOL 0.18 (21-Jul-00) [*] TMenu object translated to BASM (~1,5K smaller) and its implementation moved to Menus.inc.
|
|||||||||||||||||||||||||
KOL 0.17 (15-Jul-00) [-] Working with negative filters
(^filemask) fixed in TDirList (NewDirListEx). [*] SortData also translated to BASM. 272 bytes smaller and... seems to be working yet. :-)
[-] Num2Bytes function fixed for Delphi3 ("thanks" to Inprise Inc. for improving _TRUNC function in D4,D5).
|
|||||||||||||||||||||||||
KOL 0.16 (11-Jul-00) [*] ResizeParent... methods are changed again. These ones now change size first time without conditions, second and other times (for the same parent) - only to increase its size. It is not necessary now to set initial size of parent control to be small, and therefore You can now call correspondent resizer several times (for several children) to provide fitting to parent client area for all of these child controls.
[+] Several more routines from strutils.inc are optimized and translated to BASM (Hex2Int, Int2Ths, Num2Bytes, Str2Int, TrimLeft, TrimRight, Trim, CopyTail, DeleteTail, IndexOfChar, IndexOfCharsMin, IndexOfStr, Parse, StrPCopy, StrEq, AnsiEq, StrIn, StrSatisfy).
|
|||||||||||||||||||||||||
KOL 0.15 (7-Jul-00) [*] ResizeParentRight and ResizeParentBottom (and ResizeParent too) changed to resize only for increasing size of parent control. If form can be smaller, then by default, just set initial size of form sufficiently small (e.g. calling SetSize(100,20) for form immediately following creating it). These changes allow easy resize form to fit all right / bottom controls, even not justified (having different right / bottom coordinates). [-] Small bug with CreateVisible property fixed. For application having applet button, which is set to invisible, form is normally showing when Run procedure is called. Also StayOnTop method is not now creating window if it is still not created. [*] Small change in LabelEffect implementation: shadow color now is calculated as mixed between font color and clBlack, not cl3DDkShadow. [+] TCanvas more optimized and totaly translated to assembler. The same for TGraphicTool. And implementation of these both objects moved to graphics.inc module. [+] DoubleBuffered painting improved: it is possible now to
use control's Canvas regadless of is control painting through
buffer or not. The only disadvantage is that if DoubleBuffered
is set in program, some metods from TCanvas are referenced and included
into executable (even if canvases are not actually used in project). [-] OnMouse... events fixed for form (handler call moved to common WndProc method from particular WndProcCtrl, but as earlier, code is added only if properties OnMouse... are changed in program). Also, assembler version fixed (separate bug was found) and improved a bit.
|
|||||||||||||||||||||||||
KOL 0.14 (5-Jul-00) [+] dynwndmsg.pas unit is removed from KOL package (both procedures from it are moved to kol.pas, though these are not used now - and possibly will not be used in future too).
[*] MsgOK / MsgBox routines can now work without Applet variable assigned or forms created (i.e., outside of Run procedure). In that case defaut displaying title for message box is: 'Error'. This increased size of code onto 4 bytes.
|
|||||||||||||||||||||||||
KOL 0.13 (29-Jun-00) [!] KOL moved to a new site. There are no banners here, no advertisments at all, and speed seems to be good. And, design of page is changed a bit too. So, welcome. And thanks to Kostya Nosov, who found this place (newmail.ru) for us. [*] Units organization is changed a bit. Total KOL library now contains a single unit kol.pas, and to make it smaller, different parts of it are moved to separate inc-files, inclided using compiler directive $I. E.g., declarations of global functions from utls.pas are moved to interface part of kol.pas, and its implemetation is now located in strutils.inc.
[+] Further translation of some methods to bult-in assembler made. [-] Behavior of functions GetItem, SetItem fixed - especially for indeces outbounded list items /edit lines diapason. [-] Initialization of fileds of object by zeroes in Delphi3 fixed (forced by calling FillChar in TObj.Init). [+] Property CurIndex added (similar to ItemIndex in VCL, for listbox and combobox it shows/changes number of current line in a list, and for editbox it shows/changes current character position in text.
|
|||||||||||||||||||||||||
KOL 0.12 (25-Jun-00)
[+] And some new properties and methods are added to TControl definition, such as:
[+] Also some attendant events added:
Other improvements:
Total balance. Sample TestKOL2, enclosed in archive, has all designed already controls on a form, but its executable size in minimal case is about 16,5K.
|
|||||||||||||||||||||||||
KOL 0.11 (22-Jun-00) In new version:
|
|||||||||||||||||||||||||
KOL 0.1 (20-Jun-00) New parallel project named KOL - Key
Objects Library - is started. It is based on experience aquired during
working under XCL first, and some other similar ideas. Main purpose is the same - to
create smaller programs using great Delphi environment (IDE editor, debugger, and... help
system, primarely win32.hlp). Main differences are ideoligic. Today the first release of KOL is present (v0.1). Now KOL
consists of two units objs and utls. Objs
contains definitions of base object TObj and descending from TObj
objects TList, TGraphicTool and TControl. And now, good news for folks. From here, I am starting to publish last news in Russian too (these will not be posted in common newsletter, but if such suggestion will be greeting, I can create separate mailing list for Russians). And, if anybody could provide me with translation of news to other languages - in form of reference to your site or by sending me translated news release every time it is announced - please contact me (in English or Russian, please).
|
XCL: (C) 1999-2000 by Vladimir
Kladov
KOL: (C) 2000 by Vladimir Kladov