-
Новости от 19-Jan-2007 (KOL & MCK v2.86)
[*] KOL: символ условной компиляции TOOLBAR_FORCE_CHILDALIGN больше не действует для Win98 т.к. может там приводит к краху приложения. При создании совместимых с Win9x приложений, избегайте размещения на инструментальной линейке выравниваемых дочерних контролов.
[+] Добавлены метод TWStrList.Last и функция WCharIn. В методе TWStrList.MergeFromStream, обеспечивается удаление ведущего символа $FEFF при загрузке текста Unicode из файла. В методе TWStrList.SetText, обеспечивается терминирующий символ 0.
[*] UNICODE_CTRLS: может теперь комбинироваться с символом USE_PROP (константы ID_SELF и ID_PREVPROC объявлены как KOLString).
[-] Для UNICODE_CTRLS, исправлено свойство TOpenDirDialog.InitialPath.
[+] Добавлены функции: Scrollbar_GetMinPos, Scrollbar_SetMinPos, Scrollbar_SetAll, Scrollbar_GetMaxPos, Scrollbar_SetMaxPos, Scrollbar_GetCurPos, Scrollbar_SetCurPos, Scrollbar_SetPageSz, Scrollbar_GetPageSz, Scrollbar_SetLineSz, Scrollbar_GetLineSz - для использования вместе с модулем ToGRush в дуальном коде.
[*] IndexOfChar, IndexOfStr изменены и понимают #0 как обычный символ, не обязательно завершающий строку.
[-] MCK: при генерации кода для установки нестандартного цвета (Color) добавлено приведение типа для предотвращения выдачи предупреждения компилятором.
[-] Дл случаев, когда CanResize = false или запрещены иконки минимизации и/или максимизации формы, так же окну отправляется сообщение WM_INITMENU, что обеспечивает корректное запрещение соответствующих пунктов системного меню.
[+] Свойство LikeSpeedButton обеспечено для зеркальных контролов TKOLCheckBox, TKOLRadioBox, и теперь может быть обеспечено для любого потомка TKOLCustomControl простым перечислением свойства в списке публикуемых.
[*] Обновлены компоненты TKOLGif, TKOLPng.
-
Хорошее обновление. Спасибо
-
Исправьте, пожалуйста, Parse(). При Separators равном одному символу все работает, а при двухсимвольном (напр #13#10) разделителе глючит. Необходимо заменить Delete( S, 1, Pos ) на Delete( S, 1, Pos+Length(Separators)-1 ) . Посмотрите, может меня глючит?. Версия KOL 2.83.
-
> [-] Дл случаев, когда CanResize = false или запрещены > иконки минимизации и/или максимизации формы, так же > окну отправляется сообщение WM_INITMENU, что > обеспечивает корректное запрещение соответствующих пунктов > системного меню.
> [-] For cases when CanResize is false or minimize or maximize > icon are disabled, also a code is generated which sends > WM_INITMENU to a form window handle at startup. This provides > correct disabling of correspondent system menu items as > well.
Sorry - still does not work. I still have to add WM_INITMENU to disable maximize menu item:
CanResize := False;
Perform(WM_INITMENU,0,0);
Problem only on first click of form system menu. Click on task bar icon is ok.
-
В Parse нет многоимвольных сепараторов. Это просто множество символов, из которых первый найденный считается разделителем.
-
System menu: For me it works. Check please if WM_INITMENU performed in _1.inc file.
-
> System menu: > For me it works. Check please if WM_INITMENU performed in _1.inc file.
I do not use MCK. With this simlpe KOL test, restore and maximize are incorrect. program test;
uses
Windows, Messages, KOL;
begin
Applet := NewForm(nil,'Test');
Applet.CanResize := False;
Run(Applet);
end.
-
Without MCK, it must be called since several different reasons are there in several possible combinations. In MCK, just Perform(WM_INITMENU,... generated and run.
-
В начале этого года была плановая смена пароля на сервере www.kolnmck.ru... С хозяином сайта Гэндальфом связаться не могу...надеюсь что пока... Т.ч. обновления пока не ожидается :(
-
> Vladimir Kladov © (19.01.08 20:01) [4] > первый найденный считается разделителем.
И удаляется только он один, а остальные остаются. Пример: const
br=#13#10;
var
s:string;
begin
s:='Один'+br+'Два'+br+'Три';
Showmessage(parse(s,br)); Showmessage(parse(s,br)); Showmessage(parse(s,br)); end;
-
> WM_INITMENU
За это спасибо.
-
И удаляется только он один, а остальные остаются.
Так и должно быть. Для многосимвольных разделитей напишите свой parse.
-
Новости от 19-Jan-2007 (KOL & MCK v2.86)
=)
-
In KOL.PAS line 33228: fDefWndProc := @Params.WindowClass.lpfnWndProc; Is FCP21 correct? I think it should be {$ifdef FPC}
-
Если кому интересно. Версия 2.86 нормально компилируется в FreePascal вот с такой доработкой: 1. В файле koldef.inc: - перед строчками
{------------------------------------
by Thaddy de Koning:
поставить
(Рекомендую работать именно с FreePascal версии 2) В результате получается:
{------------------------------------
by Thaddy de Koning:
2. В файле kol.pas, в той строчке, которую указал Jon:
fDefWndProc := @Params.WindowClass.lpfnWndProc;
изменить {$ifdef FPC21} на {$ifdef FPC}:
fDefWndProc := @Params.WindowClass.lpfnWndProc;
Теперь у меня компилируется без ошибок. Но с кучей варнингов... :) Компилятор FPC 2.2.0.
-
Символы условной компиляции для того и придуманы, чтобы их можно было задавать не модифицируя исходный файл. В опциях проекта, например, или в командной строке компилятора. FPC21 отличается от FPC из-за бага в FPC2.0, который был исправлен в 2.1. Соответственно, надо ставить оба символа в FPC выше 2.0.
-
Тогда поправка к моему предыдущему постингу. :) Файл kol.pas не править, а в файл koldef.inc добавить DEFINE:
-
дык наверное нет директивы на тот случай если юзаете 20 фпц а не 21
-
в KOL.pas много раз встречается несостыковка
в interface стоит {$IFNDEF STREAM_COMPAT} const {$ENDIF} а в implementation стоит const
без скобок.
строки 25169 25204 25242 25267 25635
бяка всплыла при использовании KOLPNG которая в свою очередь использует KOLZLIB в которой сопсно и используются эти недопереписанные строки.
кстати в сам KOLZLIB надо тогда внести эти директивы компиляции если уж руководствоватсья такой логикой.
-
о, гм, вижу запись об обновлении KOLPNG :)
|