Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

версия 2.06   Найти похожие ветки 

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

Новости от 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) и теперь с исходниками в дистрибутиве. См. в Инструментах.


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

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


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

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

"Invalid combination of opcode and operands"


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

forget to test it for earlier Delphi.

push dword ptr [edi]

must be there for these.


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

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


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

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);


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


 
Vladimyr ©   (2005-03-07 03:04) [6]

Присоединяюсь!
Владимир, исправьте, пожалуйста, также глюки Form.Caption и ComboBox.OnChar!
http://delphimaster.net/view/11-1109622535/
http://delphimaster.net/view/11-1109622535/


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

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

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


 
ECM ©   (2005-03-07 09:37) [8]

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


 
ECM ©   (2005-03-07 09:44) [9]

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


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

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


 
ECM ©   (2005-03-07 14:04) [11]

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

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


 
SPeller ©   (2005-03-07 15:18) [12]

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


 
ECM ©   (2005-03-07 16:10) [13]

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


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

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


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

Новости 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   (вычисление   контрольной   суммы  иногда
выполнялось неверно). См. новую версию в Инструментах.


 
ECM ©   (2005-03-07 19:59) [16]

>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 20:34) [17]

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

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


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

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


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

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


 
SPeller ©   (2005-03-07 21:19) [20]

Paha   (07.03.05 20:36) [19]
Да мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07

А нету такой! Обновляй 2.0 до нужной.


 
ECM ©   (2005-03-07 21:20) [21]

>Мне надо готовую полную версию KOL+MSK 2.07.

Такой версии нет, и очевидно на сайте у Кладова не будет.
Так что, качай KOL v2.00 + MCK v2.00 + KOLAdd + Updater + update 2.00 to 2.07.
А никто и не обещал, что будет легко :)


 
gent   (2005-03-07 22:49) [22]

В версии 2.06 ошибка в TBitmap.SetHandle (см. http://delphimaster.net/view/11-1109622535/ ) исправлена, но...
Дана программа:

var bmp: PBitmap;

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
 begin bmp := NewBitmap(0, 0);
       bmp.LoadFromResourceName(hInstance, "BMP");
 end;

procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
 begin bmp.DrawTransparent(DC, 0, 0, clFuchsia); end;

Здесь "BMP" - 16-цветный битмап.
Эта программа прекрасно работает (transparent!) под Windows 98 при трансляции через KOL 2.03 и выдает полную ерунду при KOL 2.06. Варианты с NewDIBBitmap, DrawMasked и т.п. не помогают...


 
gent   (2005-03-07 22:50) [23]

Предлагается добавить следующее свойство для TKOLDateTimePicker.

protected
 procedure SetSystemTime(Value: TSystemTime);
 function GetSystemTime: TSystemTime;
public
 property SystemTime: TSystemTime read GetSystemTime write SetSystemTime;

........................

procedure TControl.SetSystemTime(Value: TSystemTime);
 begin Perform(DTM_SETSYSTEMTIME, GDT_VALID, Integer(@Value)); end;

function TControl.GetSystemTime: TSystemTime;
 begin Perform(DTM_GETSYSTEMTIME, 0, Integer(@Result)); end;

_SYSTEMTIME - это естественный для данного "контрола" формат данных и, если нужно работать с элементами времени/даты, совершенно ни к чему таскать за собой преобразования в TDateTime и/или обратно.


 
thaddy   (2005-03-07 23:17) [24]

DateTimepicker is a Windows API! control and behaves like MS intended. It is good as it is, since it behaves the same as in every other application.


 
Paha   (2005-03-07 23:32) [25]

>> ECM
Так что, качай KOL v2.00 + MCK v2.00 + KOLAdd + Updater + update 2.00 to 2.07
KOL 2.00 + MCK 2.00 + KOLAdd + Update 2.00-->2.07 - скачал. А что делать с файлом kolmck200to207.upd ?? Как обновить? Напишите подробнее...
Можт нужен Updater? Только вот где его искать?


 
gent   (2005-03-08 00:44) [26]

> Thaddy.
Yes, of course, WinAPI. So what? If you look to code of KOLDateTimePicker, you see that you can get/set data only as TDateTime, although native format if _SYSTEMTIME. The property proposed is called to get/set original values avoiding unnecessary conversions to TDateTime and backward.


 
gent   (2005-03-08 00:48) [27]

>Paha
>Можт нужен Updater? Только вот где его искать?

http://bonanzas.rinet.ru/r_tools.htm


 
dimaxx ©   (2005-03-08 23:09) [28]

Версия KOLadd - 2.04. А где обновление до 2.07? Ведь уже давно вижу в описаниях нововведений строчки о переносе из KOL в KOLadd. А когда можно увидеть эти переносы в KOLadd?


 
fellix   (2005-03-09 00:15) [29]

> dimaxx
> Версия KOLadd - 2.04 ...

Это на bonanzas так написано, а реально качается последняя версия.


 
Ал   (2005-03-09 08:25) [30]

Ребята, вы все, конечно, правильно тут рассуждаете. Только почему такая тишина по поводу того, что начиная с 1.92 KOL не идет на Pentium 200 и более ранних. Я об этом уже не раз писал. К сожалению, моей квалификации на поиск и исправление не хватит. Но авторы-то знают, где копать. Или от этого тихо отказались? Зря! Таких настольных систем и нотебуков еще немало. Особенно, как ни странно - там, у них! К тому же однозначно прослеживается тенденция - чем новее KOL, тем пухлее exe. А в начале говорили - не-е-е!
Очень хочется KOL 2, чтобы работал на старых Pentium!
С уважением.


 
MTsv DN   (2005-03-09 08:31) [31]

В версии 2.06 и 2.07 не работает компонент BAPFileBrowser.
Ошибка: Unknown identifier PDirChange.
Что делать?

С Уважением MTsv DN


 
ECM ©   (2005-03-09 09:03) [32]

MTsv DN   (09.03.05 08:31) [31]
В версии 2.06 и 2.07 не работает компонент BAPFileBrowser.
Ошибка: Unknown identifier PDirChange.
Что делать?


unit KOLBAPFileBrowser;
...
interface

uses Windows, Messages, KOL, KOLAdd;


 
miek ©   (2005-03-09 09:49) [33]

aL>начиная с 1.92 KOL не идет на Pentium 200 и более ранних

Идет, я недавно запускал на P-133 MMX. Было только несколько не работающих на старых процах версий около номера 1.98...


 
Ал   (2005-03-09 09:58) [34]

Для miek
Если быть точным, то 1.93 уже не идет на P200, Win95.
Да и к чему такая точность! Хочется, чтобы 2.XX работала!


 
ECM ©   (2005-03-09 11:04) [35]

2Ал
Версия 1.93 в этом плане отличается от 1.92 (и это обсуждалось
в данной конференции) использованием новых команд процессора CMOVx. Естественно эти команды должны вызывать "жуткий" вылет
на процессорах ее не понимающих (типа P200).
Посмотри следующее:
1) Не задается ли где-нибудь по тексту $DEFINE USE_CMOV?
2) Включи отладочную информацию в опциях компилятора, затем
  открой модуль kol.pas и поищи все строки где встречается
  CMOV. Если код их использующий попадает в исполняемый
  модуль, слева (на сером фоне) должна появляться синяя
  точка, показывающая, что в данном месте можно ставить
  breakpoint.

В твоем случае код с CMOV НЕ должен подключаться в исполняемый модуль!


 
ECM ©   (2005-03-09 11:11) [36]

З.Ы. 2Ал
Опция USE_CMOV появилась начиная с версии 1.97.
Поэтому версии 1.93-1.96 будут иметь этот эффект.
Правда только при условии, что используется Delphi6
или выше.


 
azsd ©   (2005-03-09 12:05) [37]

is it possible port the MCK to delphi 2005?
pure kol seems working fine in d2005.


 
uuzh ©   (2005-03-09 18:29) [38]

Интересный эффект для версии 2.07
Если назначить для editbox, label или PainBox windowed:=false
После чего во время выполнения поменять Caption/Text/Color - эффект "0", ничего не меняется.


 
dimaxx ©   (2005-03-09 19:29) [39]

2 fellix: Это в файле написано, а не на сайте. На сайте Владимир мог и забыть поменять.


 
BelchonokH   (2005-03-09 20:26) [40]

Скачал себе версию 2.07, всё бы ничего, только появилась туча вопросов!
1) Скачал KOLadd, собрал MCK, открыл проект с ActonList, пытаюсь собрать, выдает: Undeclared identifier TKOLActionList и показывает на строку
 TKOLActionList = PActionList;
 TKOLAction = PAction;
в MCKFakeClasses.inc ну и конечно не собирается :( Как это поправить?
2) Не происходит событий OnMouseEnter/OnMouseLeave для Panel, как их можно вызвать? (GRAPCTL_HOTTRACK не помогает)

2 Владимир Кладов: с  Shift и wParam для событий мыши СПАСИБО, глаза открыли!!!



Страницы: 1 2 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.062 c
6-1121512855
Dust
2005-07-16 15:20
2005.11.06
Сниферы и PPP-адаптер


4-1125553929
Ola
2005-09-01 09:52
2005.11.06
Как писать и читать из реестра?


2-1129059115
Кабан
2005-10-11 23:31
2005.11.06
Промогите разобраться ServerSocket1 и ClientSocket1


9-1119554752
Novouralsk
2005-06-23 23:25
2005.11.06
Отрожени в воде с использованием Шейдеров


2-1129314119
chij
2005-10-14 22:21
2005.11.06
DBgrid