git-svn-id: https://svn.code.sf.net/p/kolmck/code@112 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
dkolmck 2012-05-05 04:56:06 +00:00
parent eebab3adbf
commit ab1255291e
8 changed files with 537 additions and 74 deletions

View File

@ -4337,7 +4337,7 @@ var
i: longword;
userkey: array[0..31] of byte;
begin
burn;
burn;
Size:= Size div 8;

View File

@ -1,5 +1,6 @@
package addons_D2006;
{$R 'MCKMonthCalendar.res'}
{$R 'addons.res'}
{$R 'mckCCtrls.dcr'}
{$R 'mckHTTPDownload.dcr'}
@ -88,6 +89,8 @@ contains
mckDHTML in 'mckDHTML.pas',
KolZLibBzip in 'KolZLibBzip.pas',
KOLMHIPEdit in 'KOLMHIPEdit.pas',
MCKMHIPEdit in 'MCKMHIPEdit.pas';
MCKMHIPEdit in 'MCKMHIPEdit.pas',
MCKMonthCalendar in 'MCKMonthCalendar.pas',
KOLMonthCalendar in 'KOLMonthCalendar.pas';
end.

567
KOL.pas

File diff suppressed because it is too large Load Diff

View File

@ -210,7 +210,7 @@ by Thaddy de Koning:
FPC version 2.1.1 is very compatible with Delphi and kol now.
You can simply use the $(DELPHI)\source\rtl\win\*.pas files from Delphi 4/5 instead of the prepared files that were needed for
FPC1.X
That is all to have full compatibility.
------------------------------------}
{$DEFINE PAS_VERSION}

View File

@ -111,7 +111,9 @@ type
procedure CreateDialogForm;
property _FindFirstFileEx: TFindFirstFileEx read GetFindFirstFileEx;
function _FindFirstFileExW: Boolean;
{$IFDEF DIRDLGEX_LINKSPANEL}
procedure SelChanged( Sender: PObj );
{$ENDIF}
procedure DeleteNode( node: Integer );
procedure DestroyingForm( Sender: PObj );
public
@ -485,7 +487,9 @@ begin
DirTree.OnMouseDblClk := DoubleClick;
{$ENDIF}
MsgPanel.OnMessage := DoMsg;
{$IFDEF DIRDLGEX_LINKSPANEL}
DirTree.OnSelChange := SelChanged;
{$ENDIF}
DlgClient := DTSubPanel; // !!!
s := CancelCaption; if s = '' then s := 'Cancel';
BtCancel := NewButton( BtnPanel, s );

View File

@ -1,6 +1,6 @@
//------------------------------------------------------------------------------
// KOL_ASM.inc (to inlude in KOL.pas)
// v 3.16
// v 3.17
function MsgBox( const S: KOLString; Flags: DWORD ): DWORD;
asm
@ -5570,6 +5570,7 @@ asm
CALL IsWindow
TEST EAX, EAX
JZ @@destroy2
(* -- moved to WM_NCDESTROY handler - VK + Alexey Kirov
{$IFDEF USE_PROP}
PUSH offset[ID_SELF] //* Remarked By M.Gerasimov
PUSH [EBX].fHandle //* unremarked to prevent problems with progress bar
@ -5580,6 +5581,7 @@ asm
PUSH [EBX].fHandle
CALL SetWindowLong
{$ENDIF}
*)
{$IFDEF USE_fNCDestroyed}
CMP [EBX].fNCDestroyed, 0
JNZ @@destroy2
@ -5885,8 +5887,17 @@ asm //cmd //opd
JMP @@calldef
//********************************************************** Added By M.Gerasimov
@@chk_WM_DESTROY:
{$IFnDEF SMALLER_CODE}
MOV EDX, [EDI].TMsg.hWnd
{$ENDIF SMALLER_CODE}
CMP AX, WM_DESTROY
JNE @@chk_WM_NCDESTROY
{$IFnDEF SMALLER_CODE}
CMP EDX, [ESI].TControl.fHandle
JNE @@chk_WM_NCDESTROY
{$ENDIF SMALLER_CODE}
{$IFDEF USE_FLAGS}
OR [ESI].TControl.fFlagsG2, (1 shl G2_BeginDestroying)
{$ELSE}
@ -5895,10 +5906,14 @@ asm //cmd //opd
JMP @@calldef
//**********************************************************
@@chk_WM_NCDESTROY:
//CMP word ptr [EDI].TMsg.message, WM_NCDESTROY
CMP AX, WM_NCDESTROY
JNE @@chk_WM_SIZE // @@chk_CM_RELEASE
//********************************************************** Added By M.Gerasimov
{$IFnDEF SMALLER_CODE}
CMP EDX, [ESI].TControl.fHandle
JNE @@chk_WM_SIZE
{$ENDIF SMALLER_CODE}
{$IFDEF USE_PROP}
PUSH offset[ID_SELF]
PUSH [ESI].fHandle
@ -5909,8 +5924,8 @@ asm //cmd //opd
PUSH [ESI].fHandle
CALL SetWindowLong
{$ENDIF}
JMP @@calldef
//**********************************************************
@@return0:
XOR EAX, EAX
JMP @@exit // WM_NCDESTROY and CM_RELEASE
@ -5928,7 +5943,7 @@ asm //cmd //opd
@@callonmes:
{$IFDEF NIL_EVENTS}
TEST EBX, EBX
JZ @@ret
JZ @@ret
{$ENDIF}
@@onmess1:
PUSH 0

View File

@ -1,9 +1,9 @@
KEY OBJECTS LIBRARY for Delphi (and Free Pascal Compiler) - to make applications small and power. This library is freeware and open source. Delphi 2, 3, 4, 5, 6, 7, 8, BDS 2005, 2006, 2010, TurboDelphi and Free Pascal Compiler 1.0.5, 1.0.6, and higher (2.0.4) are supported. Partially compatible with Kylix (Linux/Qt platform, use special converting tool and provided files in Tools section on the site http://bonanzas.rinet.ru)
KEY OBJECTS LIBRARY for Delphi (and Free Pascal Compiler) - to make applications small and power. This library is freeware and open source. Delphi 2, 3, 4, 5, 6, 7, 8, BDS 2005, 2006, 2010, TurboDelphi, Delphi XE, Delphi XE2 and Free Pascal Compiler 1.0.5, 1.0.6, and higher (2.0.4) are supported. Partially compatible with Kylix (Linux/Qt platform, use special converting tool and provided files in Tools section on the site http://bonanzas.rinet.ru)
Copyright (C) by Vladimir Kladov, 1999-2010.
Some parts of code are Copyright (C) intellectual property by other people, see comments in code and on KOL site. Thanks to all for help with KOL and MCK!
v. 3.16 (26-Nov-2011)
v. 3.18 (23-Apr-2012)
To get newer version, go to Web-page http://www.kolmck.net and get there updates.

View File

@ -1,12 +1,12 @@
KEY OBJECTS LIBRARY для Delphi (и Free Pascal Compiler) - предназначен для того, чтобы сделать программы, изготовленные с использованием языка Паскаль, маленькими и очень маленькими.
Copyright (C) by Vladimir Kladov, 1999-2007. Бесплатно, с исходными текстами.
версия 3.16 (26 ноября 2011 г.)
версия 3.18 (23 апреля 2012 г.)
_________________
КРАТКОЕ ОПИСАНИЕ:
   KOL - Key Objects Library - это библиотека объектов для программирования в среде Delphi.
   Поддерживаются версии Delphi2, Delph3, Delphi4, Delphi5, Delphi6, Delphi7, Delphi8, BDS2005, BDS2006, BDS2010, Turbo-Delphi а так же Free Pascal v1.0.5, v2.0.4 и выше. Имеется так же частичная совместимость с Kylix (требуется конвертер и набор файлов, см. в разделе "Инструменты разработчика" на сайте http://bonanzas.rinet.ru). Ведется работа над портированием на другие платформы (Linux, Win CE).
   Поддерживаются версии Delphi2, Delph3, Delphi4, Delphi5, Delphi6, Delphi7, Delphi8, BDS2005, BDS2006, BDS2010, Turbo-Delphi, Delphi XE, Delphi XE2, а так же Free Pascal v1.0.5, v2.0.4 и выше. Имеется так же частичная совместимость с Kylix (требуется конвертер и набор файлов, см. в разделе "Инструменты разработчика" на сайте http://bonanzas.rinet.ru). Ведется работа над портированием на другие платформы (Linux, Win CE).
Библиотека KOL позволяет разрабатывать чрезвычайно компактные GUI-приложения (от 11К без сжатия - при условии использования предлагаемой замены системных модулей system, sysinit, см. на сайте раздел "Архивы"). Большая часть кода переведана на ассемблер.
   К библиотеке прилагается программа - генератор справки (xHelpGen), формирующая подробную документацию по библиотеке в html-формате. Справка формируется на основе комментариев в исходных текстах, так что разработчики всегда имеют доступ к самой свежей и полной документации.
   С использованием MCK (Mirror Classes Kit - набор зеркальных классов) все прелести визуальной разработки программ в полной мере доступны и для разработчиков, использующих KOL. Дополнительно с MCK имеется возможность еще более уменьшать приложения, автоматически генерируя П-код виртуальной машины вместо Паскаль-кода для инициализации форм (см. подроблее: Collapse).