Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

версия 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 вся ветка

Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.036 c
1-1128930294
SnakeAK
2005-10-10 11:44
2005.11.06
Прозрачность TImage.


9-1119430602
FUNKy
2005-06-22 12:56
2005.11.06
Потомок TGLActor , корректное создание run-time


3-1127730434
_RusLAN
2005-09-26 14:27
2005.11.06
Как перенести даные из MS Access в базу Firebird


14-1129575930
NewWonder
2005-10-17 23:05
2005.11.06
Мастера web-дизайна!


2-1129294767
d_savrasov
2005-10-14 16:59
2005.11.06
вопрос по quickrep





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский