Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

версия 2.06 [Delphi, KOL/MCK, Windows]


Страницы:   1 2 3

Владимир Кладов ©   (2005-03-06 17:24:00) 

Новости от 6 марта 2005 года

Новости KOL и MCK (v2.06):
[*]KOL: функция Int2Ths несколько изменена и использует глобальную переменную ThsSeparator. По предложению Дмитрия Жарова a.k.a. Gandalf. Так же, asm-версия этой функции исправлена для случая отрицательного аргумента.
[-]MCK: исправлена опечатка в наименовании свойства GenerateSeparatorConstants (когда проект будет загружен в Delphi IDE после пересборки пакета, следует игнорировать все предупреждения).
[-]MCK: функция TKOLDataModule.Result_Form исправлена ECM (для случая USE_NAMES генерировался неверный код: nil.Name := ...).
[+]MCK: добавлено свойство TKOLListBox.LBItemHeight - автор ECM.
[-]KOL: исправлена функция TStream.WriteStrEx (теперь возвращает число записанных байтов).
[-]KOL: испрвлена функция NewGroupbox (asm-версия: начальный размер по умолчанию вычислялся неверно). Так же удалены ненужные стили окна (WS_GROUP, WS_TABSTOP) и устанавливается (новый) флажок fIsGroupBox (protected).
[*]KOL: для TabControl-а, изменение текущей закладки более не приводит к ее фокусирования (так как такое изменение могло быть выполнено программно из вашего кода, а не только по клику мыши).
[*]KOL: изменен метод TControl.SetRadioChecked для предотвращения фокусирования радиобокса, если этот метод вызывается из программы, а не в результате клика мыши.
[-]KOL: при наборе контролов, попадающих  список для табулирования (Tabulate) контролы, имеющие дочерние табулируемые контролы, сами из списка теперь исключаются и более не фокусируются кнопкой табуляции.
[-]KOL: AutoSize изменен для WordWrap-контролов и для них автоматически меняет теперь только свойство Height.
[-]KOL: исправлен метод TBitmap.SetHandle.
[+]KOL: добавлены метод TList.AddItems и еще одна функция-конструктор: NewListInit.
[*]KOL: объекты TListEx, TWStrList, TWStrListEx, TMetafile, TDirChange, TCabFile, TAction, TActionList и сопутствующие функции, а так же функции WStrCopy, WStrCmp перемещены в модуль KOLadd.pas для сохранения размера модуля KOL.pas в пределах ограничения 65535 строк (иначе отладчик Delphi отказывается работать с модулем, вплоть до краха Delphi IDE).
[+]KOL: добавлен метод-функция TControl.MakeWordWrap.
[*]KOL: метод TControl.CreateWindow преобразован из процедуры в функцию (boolean) и может возвращать false - для безоконных контролов.
[+]KOL: добавлен набор графических контролов, с конструкторами-функциями: NewGraphLabel, NewWordWrapGraphLabel, NewGraphPaintBox, NewGraphCheckBox, NewGraphRadioBox, NewGraphButton, NewGraphEdit. MCK: добавлено свойство windowed для TKOLLabel, TKOLCheckBox, TKOLRadioBox, TKOLEditBox, TKOLPaintBox. Так же, свойство WordWrap доступно теперь для TKOLCheckBox, TKOLRadioBox, TKOLButton, хотя имеет эффект только для их безоконных версий (когда windowed = false). При добавлении в свойства проекта символа условной компиляции GRAPHCTL_XPSTYLES, графические контролы отрисовываются с использованием текущей темы под XP, и когда добавлен символ GRAPCTL_HOTTRACK, они еще и маркируются визуально при наведении мыши (если GRAPHCTL_XPSTYLES так же уже включен), и при этом втором символе для графических контролов работают события OnMouseEnter / OnMouseLeave.
  Вид и поведение графических контролов такие же (или очень похожи) по сравнению с обычными оконными, хотя они не имеют дескриптора окна. Это может экономить так называемые "user resources" (несущественно для NT/2K/XP) и повышать быстродействие для форм, имеющих большое число таких дочерних элементов. Так же, графические контролы имеют дополнительные преимущества: события OnPrePaint / OnPaint / OnPostPaint, для большинства из них действует свойство WordWrap, а кнопка может содержать иконку вместе с тектом.
[*]KOL: изменение свойств TControl.Enabled, Parent, BoundsRect теперь вызывает Invalidate. Это необходимо для правильной работы графических контролов.
[*]KOL: процедура TerminateExecution объявлена в интерфейсной части KOL.pas. Это позволяет переопределить свою процедуру взамен Run слегка изменив ее код (например, увеличить приоритет обработки некоторых сообщений выбирая их из очереди сообщений первыми). 
[+]KOL: для формы добавлено свойство KeyPreview (автор - truf), требуется включить так же символ условной компиляции KEY_PREVIEW в опции проекта. Нет специального свойства MCK, просто событие OnKeyDown срабатывает для формы до обработки WM_KEYDOWN в фокусном контроле.

Прочие новости:
[*]обновлено инструментальное приложение DiffLines (работает быстрее, исправлен вид для XP) и теперь с исходниками в дистрибутиве. См. в Инструментах.


Paha   (2005-03-07 20:36:00) [41]

>>ECM
Да мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07.


Paha   (2005-03-07 20:36:00) [42]

>>ECM
Дап мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07.


Владимир Кладов   (2005-03-07 20:34:00) [43]

по поводу граф. контролов: не стоит их класть на других родителей кроме самой формы, панели, паинт-бокса (когда он сам windowed) и групбокса (и то для групбокса с дочерними граф. контролами пришлось его полностью рисовать своим кодом). А так вообще результат очень хороший если на форме штук 50 контролов "заменить" их графическими аналогами, особенно заметно на чуть более слабых машинах. Заменить в кавычках потому что вся замена сводится к установке windowed в false в инспекторе объектов.

Если есть желающие довести до графической аналогии еще пару-тройку контролов, я за. Первоочередные кандидаты: bitbtn, combobox, imageshow. Еще предложения?


ECM   (2005-03-07 19:59:00) [44]

>Paha   (07.03.05 19:09) [14]
>Дайте прямую ссылку на версию 2.06 а то в Инструментах не найти.

А причем здесь Инструменты? :) Надо искать в Обновлениях

http://bonanzas.rinet.ru/upd/kolmck205to206.zip
http://bonanzas.rinet.ru/upd/kolmck200to206.zip
http://bonanzas.rinet.ru/upd/kolmck206to207.zip
http://bonanzas.rinet.ru/upd/kolmck200to207.zip


Владимир Кладов   (2005-03-07 19:45:00) [45]

Новости KOL & MCK
                          от 7 марта 2005 года

Новости от 7 марта 2005 года

Новости KOL и MCK (v2.07):

[-]KOL/MCK: некоторые исправления для того, чтобы новая версия KOL/MCK
устанавливалась для старых версий Delphi и для Free Pascal.

[-]MCK:  исправлена  установка  Caption  и  Cursor  для Form из Object
Inspector-а, исправил ECM.

[-]KOL: исправлена фунгкция WndFuncCombo, исправил ECM.

[-]KOL: исправлена функция GetFileListStr, исправил Сергей Шишминцев.

[+]KOL:  добавлен  символ  условной  компиляции  PROVIDE_EXITCODE,   с
которым  PostQuitMessage(  value  )  присваивает переданное параметром
значение   глобальной   переменной  ExitCode,  по  предложению  Сергея
Шишминцева.

[+]KOL:  добавлен  символ  условной компиляции INITFORMSIZE_FIXMENU, с
которым  начальный  размер формы при ее создании во время выполнения в
точности  соответствует  заданному  во  время  разработки (MCK), в том
числе для форм с главным меню.

[+]KOL:  добавлено  свойство  TControl.Check3  для чекбоксов со стилем
BS_AUTO3STATE, код предложил Сергей Шишминцев.

[+]KOL: добавлено свойство TControl.LVFocusItem.

[+]KOL:   добавлены  новые  стили  odEditBox  и  odNewDialogStyle  для
TOpenDirDialog, автор Сергей Шишминцев.

[*]KOL:  функция  StrLoadFromFile  может теперь читать из специального
"файла"  'CON' (перенаправление консольного в/в), код предложил Сергей
Шишминцев.

[+]MCK: добавлено свойство TKOLComboBox.CBItemHeight, автор ECM.

[+]KOL/MCK:   если   установлен   флаг   TPM_RETURNCMD   (MCK:   опция
tpmReturnCmd)  при  вызове TMenu.PopUp (MCK: в TKOLPopupMenu.Options),
функция PopUp возвращает ID выбранного пункта меню, автор ECM.

Прочие новости:

[-]исправлен   UpdateMaker   (вычисление   контрольной   суммы  иногда
выполнялось неверно). См. новую версию в Инструментах.


Paha   (2005-03-07 19:09:00) [46]

Дайте прямую ссылку на версию 2.06 а то в Инструментах не найти.


ECM   (2005-03-07 16:10:00) [47]

[kol.pas]
По-моему в ASM-версию TControl.SetParent вкралась опечатка,
блок условной компиляции подключается неверно:
{$IFDEF INPACKAGE} - необходимо поменять знак условия ->{$IFNDEF INPACKAGE}
... в PAS-версии все в порядке...


SPeller   (2005-03-07 15:18:00) [48]

Вообще, USE_DROPDOWNCOUNT делал я для того чтобы исправить баги с количеством итемов в выпадающем списке комбобоксов при включенных темах.


ECM   (2005-03-07 14:04:00) [49]

>Владимир Кладов   (07.03.05 08:38) [7]
>про комбобокс возражений нет, этот кусок компилится только при >включенном USE_DROPDOWNCOUNT

Непонятно утверждение о USE_DROPDOWNCOUNT. О каком исправлении
речь?
Это про исправление в WndProcCombo для фильтрации в OnChar?
Или я что-то пропустил?
Вроде бы в пределах кода ограниченного USE_DROPDOWNCOUNT сообщений об ошибках небыло


Владимир Кладов   (2005-03-07 09:53:00) [50]

c not в MCK - я исправил, в обновлении будет. Хотя у меня и так работало. Почему-то.


ECM   (2005-03-07 09:44:00) [51]

2Владимир Кладов   (06.03.05 19:24) [4]
>Сейчас еще глюков накопаем, обновление выйдет в ближайшие дни.
Я тут обнаружил, что большая часть почты с предложениями об исправлениях, "тихо умерла" в анти-спамовой заглушке моего
провайдера. Прошу дождаться моего письма плз.


ECM   (2005-03-07 09:37:00) [52]

2Владимир Кладов   (07.03.05 08:38) [7]
А глюк с Form.Caption и Form.Cursor в MCK?
По-моему это "опечатка"  - и ее бы надо исправить...
Или тут есть более глубокие завязки? :)


Владимир Кладов   (2005-03-07 08:38:00) [53]

про комбобокс возражений нет, этот кусок компилится только при включенном USE_DROPDOWNCOUNT

для сообщений мыши анализируйте Shift, wParam там содержит комбинацию флажков нажатых кнопок, приведение к типу TMouseButton не имеет смысла и неверно. А mbNone - просто дает более короткий код.


Vladimyr   (2005-03-07 03:04:00) [54]

Присоединяюсь!
Владимир, исправьте, пожалуйста, также глюки Form.Captionи ComboBox.OnChar!
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1109622535&n=10
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1109735577&n=10


BelchonokH   (2005-03-06 20:51:00) [55]

C версии 1.97 не обновляюсь, только из-за одного бага, который я у себя поправил, я писал и раньше на счёт этого (прошу прощения если это уже исправлено). А дело вот в чём, сейчас в kol.pas:

function WndProcMouse(Self_: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
var MouseData: TMouseEventData;
begin
 Result := False;
 ...
   X := LoWord( Msg.lParam );
   Y := HiWord( Msg.lParam );
    Button := mbNone;


А должно быть (чтобы при MouseMove возвращалась правильно нажатая клавиша):


 ...
   X := LoWord( Msg.lParam );
   Y := HiWord( Msg.lParam );
    Button := TMouseButton(Msg.wParam);


Большая просьба Владимиру Кладову, поправьте плиз!!! А то столько обновлений и наворотов вышло, а этот глюк исправлять постоянно не хочется, вот и сижу на старой версии...


Владимир Кладов   (2005-03-06 19:24:00) [56]

там еще глючок: KEY_PREVIEW и ESC_CLOSE_DIALOGS "must be" для pas-версии, иначе неприятности: begin с end'ом не в паре оказываются. Сейчас еще глюков накопаем, обновление выйдет в ближайшие дни.


Владимир Кладов   (2005-03-06 19:16:00) [57]

forget to test it for earlier Delphi.

push dword ptr [edi]

must be there for these.


Boguslaw Brandys   (2005-03-06 18:24:00) [58]

Soory. I didn't write what an error occur:

"Invalid combination of opcode and operands"


Boguslaw Brandys   (2005-03-06 18:22:00) [59]

Bug in 2.06 (after update from 2.00 but it no matter I think)
I cannot install MCK 2.06 into Delphi 5.0 Standart

{$IFDEF ASM_VERSION}
//[function TControl.GetCaption]
function TControl.GetCaption: String;

line 36761 KOL.pas

push [edi] ???

Maybe should be :

push edi

Could You fix this ?

Regards
Boguslaw Brandys


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо