|
This page is updated very often, so click 'Reload' button in your browser to get fresh version! |
25-Nov-99 | XCL v1.62 (25-Nov-99) new:
|
23-Nov-99 | New v1.61 contains mumerous of fixes and changes. Starting from v1.61,
all samples are stored separately in a single archive samples.zip
(now ~104K). ALL samples are tested in Win98 and WinNT for both D3 and D4. New message
handling (introduced in previous release) required very large number of changes, so I
suggest You to download new version in total. Other changes are following:
|
20-Nov-99 |
|
17-Nov-99 | XCL v1.59 news:
|
12-Nov-99 | XCL v1.58 news:
|
2-Nov-99 | Reading news, I found another API programming library
by Alexander Bokovikov.
Ideology of this project is slightly differing from XCL, but it gives even more compact
executables with even larger set of controls. The total library is made by the single
person - A.Bokovikov. Very recommended. It is enough documentation there, but look at
source - it is written very professionally. Some annotations could be in russian on the
page, so download ctrls2.zip (~15K), utils.zip (~11K) and api32.zip (~2K) from his page. |
31-Oct-99 | v1.57 news:
Those of You, who have already version 1.56 installed, can download xcl157.zip, containing only files, changed/added in v1.57. |
27-Oct-99 | There were many events in my life from publishing v1.55 at
18-Oct-99 (crush of FAT32, Windows98 and Windows NT on my PC, reinstall of Win98,
working under CButton together with Tim Slusher, renovation of my new flatroom, finishing
of derivatives with my students, upgrading of my TBaloonHint and CloudHint components, 1st
burthday of my son), so this decade I could not even to update my XCL page. New in v1.56: CButton. This is only the first (be precisely second, but taking under sonsideration how much it was hard to do...) signs of the series of MFC-based controls. And I glad to see, that Tim like this job and going to do even CRichEdit class in near future. Really, CButton was very important to solve problems with including of MFC-based controls branch into XCL (tab-stops, focusing,mouse/keyboard handling and so on, these all tasks had required to make serious changes in XWindow, XForm, XControl and in XMFCControl/XMFCWindow classes). New version of XMfcControls.pas contains also CEdit and CMemo, but these both not yet finished, and we all will wait for Tim Slusher to test its. Also, v1.56 contains finished ZFileChange class (in XFileChange), that can notify about changes in folder and folder subtree. Those of You, who have already version 1.55, can download smaller archive, containing only files, new in v1.56. |
18-Oct-99 | New in v1.55: ZPicture
(abstract), ZClip (abstract), ZDDB, ZHiBmp, ZDIBitmap,
ZBitmap, ZIcon
classes in XImages.pas. ZDIBitmap and ZBitmap allow storing and painting DIB bitmap even
without of creating of handle. After painting on the bitnap it is possible to free up all
allocated GDI resources (FreeResources) and paint such bitmap further directly without GDI
! It is possible to have numerous number of such bitmaps and do not care of resource
eating more... Also: fixed bug with leak of resource in XCanvases.pas. It could not appear before starting of bitmap classes foundation. |
10-Oct-99 | Unexpectadly found very big bug in version 1.53, so I am
hurry to present version 1.54 with XVisuals.pas corrected (reason was in last correction,
which was made to prevent incorrect calculating of client rect when part of visual object
is invisible. Correction was not finished, as it is found now). Also painting of XBevel, calculating of ClientRect for XGroup are changed. Added: XImgLists.pas with XImageList (similar to TImageList in VCL, but easier), XImgButton in XImgButtons.pas (similar to TBitBtn in VCL). ZThread in XThreads (by Tim Slusher) is included also (but did not finished yet). |
6-Oct-99 | XCL v1.53 changes:
|
4-Oct-99 | XCL v1.52 changes:
|
3-Oct-99 | It is very important. XOOM server mainly is very good for me
(and I hope for You too). But sometimes it can low down its performance. There is now such
period of unstable working. It may long weeks or months, no concerns. I think, XCL may
return there later. But now I decided to find some other good servers to make XCL page
accessible. And to be independent from its location, I got universal domain xcl.cjb.net, which always will true.
Bookmark this address, and if it is not working, just e-mail me and I will redirect XCL page to
another location. Now I place on my 'home' page on XOOM a page with list of opened mirrors of XCL page. Try different servers, and if some of these are not working or have too bad accessibility for You, please report me. You may use my old e-mail to send me messages, or one of two new: bonanzas@xcl.cjb.net and vladimir@xcl.cjb.net. I am also continuing working under documentation. Soon I will reorganize slightly some of html's into frames to divide too big files onto several small ones.
|
1-Oct-99 | Some new funny things are added to XCL: XJustOne.pas, XJustOneNotify.pas and XTrayIcons.pas. Also some changes made in XStreams.pas, XStrLists.pas and XLists.pas. |
29-Sep-99 | Good sounds! Another Delphi developer suggested his
assistance in creating of XCL. New version of XCL (1.51) contains changed XFileUtils.pas, XStrLists.pas and new XStrings.pas unit with new classes ZStream,
ZFileStream by Tim Slusher. Also, I decided to open new section - Articles. I will place there text stories concerning XCL. I hope, this part will be interesting for You and useful for me to improve my English. I got counter for this week and see, that either your interest to XCL is fading or my host provider XOOM had problems this week in hosting XCL pages. It is would to be so sometimes. In common, XOOM works better for me than others. My work under correcting documentation is continuing. I corrected XClass-XVisual-XWindow-XApplet,XForm,XControl-XCustomControl brunch. If You found some mistakes or omissions in docs listed above, please give me know. |
28-Sep-99 | Guestbook is added to XCL page: Show Guest Book Add Message To Guest Book I began a great work of verifying and correcting this documentation. I think, several next days were occupied with this one. But this is very important and useful job. |
27-Sep-1999 | XCL Forum is open at http://www.delphi.com/eXCL. Visit it and leave there
your opinions, suggestions, ask questions and (may be, later) get answers on your
questions. Small piece of code is added to XApplet.Run to unload OleAut32.dll and Ole32.dll at the start of running (if OleUsed property is not set to True). I found that in that case memory volume (shown by Norton as used by applet) is shorter about 1,5 Mbytes. Also I think about adding ProcessMessages procedure to XApplet. If it will be used only by developers in their projects, its code will not be added to executable in cases, when it is not called explicitly. I have been asked about Tag property again. I think, that adding of 4 byte-sized field to XClass is not too weightly. I will add this. I desided to devote a lot of time to verify and complete the documentation. I found that inaccuracies are arise often from repeating of inherited properties, methods, events in descending classes. I think about using <iframe> tag for include pieces of the same text into html, but this will not work in Netscape. If anybody can give me an advance how to do this better, give me know please. At least now, I decided to stop such practice and leave only names/types of inherited properties, methods, events and names of classes, where from these ones came out. Last time (yesterday) I announced XCalendar. I forgot to say: it is multiligual and with call SetCaptionsWithLocale it can use user or system (or certain language) locale settings to initialize captions of dayweek buttons. Unfortunately, info what day is first in a week (Sunday or Monday) is not a subject of locales :(. |
26-Sep-99 | Fixed: Centering labels; Mouse events for controls on inner
panels of XSplitPanel; Initial width of XEdit made equal to 64 pixels; function
PointInRect corrected. New utility unit XDateUtils.pas is added to provide date/time operations. Type XDateTime differs from TDateTime of VCL in represantation of its value. Integer part of XDateTime is counting days starting from 30-Dec-0001 BC, not from 30-Dec-1899 AD, as it is done in TDateTime. For funs, I included function CatholicEaster (from Swags) there. New control XCalendar is added. I think it is even more power than TCalendar in Delphi. It can be horizontally or vertically oriented, it is possible to change first day of week (in some countries week is starting not from Sunday, but from Monday), font of buttons can be not the same as for digits (and rotated with Orientation property), day cells can be owner drawn with event OnPaintDay, events OnClickDay, OnClickWeekDay are provided, captions of weekday buttons are customizable and so on. |
23-Sep-99 | Some efforts are made to provide correct autosizing of
XSplitPanel and its successor XStatus. As You could see, I added last time method LoadFromFile to XListView. Now I tested it and added SaveToFile as well. Also, XIniFile class is added (not tested) to provide easy working with ini files. I think, that my idea of using the same methods to both read and write allows to simplify code in case of fixed set of keys and sections and avoid most of errors when reading and writing of ini-file made in two different parts of code (and to make code smaller, :)), too ) |
22-Sep-99 | New controls XNotebook,
XTabs (similar to XPageControl, but with slightly
another appearance and behavior) and XTabbedNotebook
are added to XCL palette. Great efforts made to implement idea (10-Sep-99) of another imagination of internal (previously hidden and now 'member') controls. I hope, this leads to more easy creation of new controls (in future) and simplifies code. Unfortunately, I have not seen that exe becomes smaller but yet not all changes are made. Very interesting bug was found in 1.46 release due to code completion feature of Delphi: field FScrollOffset was inserted into private section of XScrollBox overriding existing protected one (inherited from XVisual). As a result, scrolled objects was not painted correctly after scrolling. In current 1.48 version this bug fixed and to prevent its new appearance, special private function intended to get FScrollOffset value. Also small bug fixed with finishing applet, containing the XScrollBar control (abundant calls to destroyers of child scrollbars are deleted). Very small change made in XListView to fix annoying appearance/disappearance of horizontal scrollbar while resizing in some cases. Also small change made to provide appearing / disappearing of such scrollbars simultaneously if this has to be done so. Attempt was made to implement idea listed 10-Sep-99 (above) to assign all the manager's events to dummy handler, but unsuccessfully. Size of exe was increased about 500 bytes even after deleting all the assignment tests, so I had returned the library to its previous state. I am planning to vote some next days to clean code and correct documentation in accordance with changes made through the XCL from its publication. |
16-Sep-99 | Add-ons XListKeySel.pas and XListEditExt.pas are ready. Now lines of XListView can be edited. XListMouseSel.pas add-on
is improved to allow selecting a group of lines with SHIFT key. XScrollbox, XCustomGrid
and XListView are corrected to provide smooth scrolling in case of single column/row of
grid. I am planning XCombo on base of XEdit, XDropButton and XListView next. |
14-Sep-99 | Something similar to grid in VCL (XCustomGrid, XGrid
in XGrids.pas) and XListView (similar to
TListBox) are ready, so I have updated arhive on my site. The greatest difference of XGrid
from its VCL's mirror TDrawGrid is in that it is not understanding fixed cols and rows. I
think that the single optional fixed column/row will be added, but no more, and in another
class derived from it. XGrid and XCustomGrid in this "light" status are very
useful to derive XListView, which does not need in fixed cols or rows. I spent a lot time
to achieve discrete scrolling by columns and rows and result is not looking great in some
cases. May be, I will try to return to smooth scrolling later or to make this discrete
scrolling smooth with special add-on class. And at least, I will return soon normal
horizontal scroll of one-column grid (and XListView as well). Working under XCustomGrid, I had to make serious changes in XScrollBox (the ancestor) and in XScroller/XScrollbar. But (I hope) this will not affect its own behaviour. |
10-Sep-99 | The last of add-ons planned before for XEdit, is ready: XEditUndo which allows to undo/redo
editing operations for edit control. Add-on XEditMouseSelect is improved to allow
selecting with double click and corrected to work properly with scrolled controls. Now I am starting the next great editing control XGrid (similar to TDrawGrid in VCL) and XStrGrid (similar to TStringGrid). I am going to derive later XListBox, XTextBox, XTreeView from these grid controls. I hope, that this will not contradict with the basic principle "not to reduce functionality while deriving new control from more power". Also I am investigating possibility of some changes in concept of constructing and painting of self-drawing controls. In particular, if it is more advisable to make inner controls to be normal children of combined control (or at least, store it in the same list and do not show in Children[] property for "users"). It seems could allow to reduce code of PaintTo method (or even eliminate it all) for some combined controls. Once more possible way of reducing code never leave me in peace. Every examining of the fact that a handler is assigned to an event of GlobalFormsManager, GlobalControlsManager and so on takes about 14 bytes of code. These examinations could be eliminated at all, but only in case if such events are always assigned to something. It is possible to assign them to dummy procedures (at the moment of creating Global...Manager variables) but creating of such dummy procedures and assigning its to events also takes some code. It would be wonder, if I could create the single dummy handler for all events, but these ones has different parameters number often... And Pascal demands that its number and types (signature) were equal. |
08-Sep-99 | At last! XEdit is
ready and XCL v1.43 becomes more power. Now it is not yet understanding undo, but
functions to work with it are ready. And this feature will be implemented as optional
add-on, as well as for other unnecessary parts of XCL. Even caret showing, selecting with
mouse and clipboard copy/cut/paste commands (these all are ready) are implemented as
add-ons and can be included or not to your XCL project. Also, ones more small bug fixed with dragging the scroller thumb button up/left. Small correction is made in ZTimer.Destroy method. And other small changes, what I do not remember. |
05-Sep-99 | New cool add-on added to XCL -
XResizeAntiFlicker. It eliminates resize flickering almost at all. This mean that with
XResizeAntiFlicker turned on, when You move one of border edges of the x-form, all
controls, aligned to opposite side of this one, are standing like a stone image and do not
try to jump as rabbit. And, finally, XScrollBox is upgraded to restrict painting of scrolled child controls with client area of scrollbox. So, it is now done correctly. Also, focus drawing add-on is improved and now focus rectangle is non-flickering when other window is moving through it. New version 1.42 contains XApplets.pas unit, modified by C.Kok. Thanks to your assistance. Other: main page of my Web is simplified and is loading faster. |
01-Sep-99 | Greetings again. With new version (1.41) bugs with
XScrollBar are fixed and now it is correctly scrolling all its child controls (of any
level) and mouse events are provided perfectly for scrolled objects. Also, priority for
handling mouse and for painting of XScrollBox scrollbars made highest. I had to make some
changes in XVisuals and XForms to do all these above. When XCL were only in project, I even could not suppose that ScrollBox can be useful. Now I am sure that it is really need to create scrollable self-painted controls similar TEdit, TListBox, T...Grid in VCL. You could ask me: why I spend so lot time to develop hard-working self-painted controls instead of improving MFC-based ones? Yes, creating of MFC-based controls is very easy. But my opinion still is that Foundation Classes are bugged, slow, overblotted, and have restrictions which are insuperable without creating of original controls. So I'd like to avoid of using MFC-based controls in my own applets and do not speed this brunch of XCL tree. If You want, You can make it easy and contact me. And, my congratulations to all teachers (even English language :-] ) and students with the start of new academic year!
|
29-Aug-99 | - XScroller and XScrollBar are finished. Applets with only XScrollbar
component is already about 70K. But this yet smaller then VCL empty form. To show
dependency of application size and development time I placed a graphic at the top of this page. - New small bugs were found and fixed. E.g., XSplitSizing.pas now works more carefully with sizing to right side of XSplitPanel of the first sizeable inner panel. XGrep now is created as alRight-aligned to prevent infinitive looping when FormAutoSize and ControlAutoPlace are using together. Key event is first passed to control which is capturing mouse. Capturing of mouse is improved and special method to XControl class is added. FormAutoSizer object has now property Collapse (default False) to let x-forms to become smaller than its controls are reducing its size (sometimes Collapse=True can lead to infinite recursion in autosizing and autoaligning). Some efforts are made in XFormAutoSize to allow autosizing of alClient, alRight and alBottom aligned controls. -
Also documentation for newly added classes is completed. And a couple of "typo"
discovered by one English teacher are corrected. Now Children property is substituting old
property
|
31-Jul-99 | - Even more number of small and not too small bugs are found in add-ons
XAligns, XControlAutoPlace and XFormAutoSize while XSplitPanel and XStatus were debugging
and testing. Three new self-painting controls are ready: XSplitPanel, XStatus and XGrep. All XCL documentation files from this page are now available to download in a single zip, which will refreshing with the page. See bottom/top of this frame!
|
29-Jul-99 | - Some small bugs are found while working under XSplitPanel control. All
those bugs were affecting XAligns, XFormAutoSize add-on units and painting of
XCustomBevel. Very small bug found in XMenus.pas with showing of radioitems after first
checking (highlighting not removed). This was taking place only under Windows98. All found
bugs are fixed in xcl.zip located on my Web page. Starting from next version, I am going
to not place uploaded copy of xcl onto Torry pages to reduce number of re-registrations. I had registered as a member of Delphi Corner Web-ring. I hope, this will help me to notice more developers which could be interested in XCL.
|
27-Jul-99 | - Small changes are made in XMfcAntiFlick to work with anti-flick more
strongly when add-ons XControlAutoPlacer and XFormAutoSize are active too. Now there are
no flicks at all for MFC-controls. Also I decided to alternate names for MFC-based
controls using prefix 'C' instead 'XW'. So, XWLabel becomes CLabel, XWPaint becomes CPaint
and so on. Also new XMenus unit is added to library with two new classes XMenu and XPopup.
|
23-Jul-99 | - I found a time to spend it to complete documentation. Also, banner of XCL is made, and You now can refer to
this page from yours if You like it. I still believe that You will not just watch, but
join and take part in creating of XCL...
|
19-Jul-99 | - Very important news: XMfcControl class and first MFC-based control
XWLabel are finished. These required to make very serious changes in some base classes
(XVisual, XWindow, XForm, XControl). But after all that I could find time to fight with
flickering (I hate it, and I do know who love it - MS). In result add-on XAntiFlick.pas is
ready to stop flicks in MFC-based controls, and add-on XRotateFonts is extended to do so
with rotated labels. Something yet can be not finished, some bugs could be found, but I am going to go on leave and make holidays with my family (I will read mail at least ones a week and response as far as possible), so I am in hurry to publish all that made even without docs. I hope that some voluntaries from You will join to this project, and assist me in creating other MFC-based control.
|
06-Jun-99 | - Documentation for XClass, XVisual, XWindow, XApplet and XForm is ready
and I decided to start publishing XCL. Didn't I too hurry up?
|
03-Jul-99 | - Several self-painting controls are ready. This set of ready modules
allows to create some small utilities starting it from 60Kbytes and without fast
increasing of code while programming it. Now, I feel that I will busy with my family
during summer, so I decided to stop coding and make some efforts to create a few docs and
publish this my work on my page. Go and get it!
|
20-Jun-99 | - unit XCanvases had written. Also unit XCanvasObjects is written too.
New technique of optional including additional modules extending functionality of basic
ones is applied, so applet can either include only XCanvases unit or XCanvases +
XCanvasObjects. Or canvases can be voided to include at all if only MFC based controls are
used.
|
16-Jun-99 | - XCL project has started. This document had written (but not published
yet), ZList, XClass, XWindow, XApplet are made. First applet with three windows and total
size 23,5Kbytes of executable.
|
![]() |
Idea of XCL Copyright (C) Kladov Vladimir, 1999 |