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

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

Версия 2.83 [Delphi, KOL/MCK, Windows]


Страницы:   1 2

Vladimir Kladov ©   (2007-10-12 23:32:00) 

            Новости от 12 октября 2007 (KOL & MCK v2.83)

[-]  Исправлен  метод TList.Assign. Спасибо mdw за bug-репорты касаемо
TList и символа TLIST_FAST.

[-]  Для  символа  TLIST_FAST,  исправлено  свойство  TStrList.Text  и
использующие его методы LoadFromFile, SaveToFile и.т.д.

[-]  Для  ASM_VERSION, исправлена функция CallTControlCreateWindow (не
возвращала полученный от CreateWindow результат. Это приводило к багам
в случае частого пересоздания окон).

[+]  ToGRush  усовершенствован:  исправлен  scrollbar, все scrollbar-ы
включая  в  выпадающем  списке  combo,  теперь могут быть замещены для
стиля GRush, кнопка со стрелкой в combo так же в стиле GRush.

Так  же,  в  KOL: добавлен стиль esSolid к списку типа TEdgeStyle (для
панелей),   чтобы   позволить   создание  простой  панели  esNone  без
прозрачности  вместо  GRush-панели,  при необходимости (обычная панель
всё-таки  намного  быстрее,  и  больше  подходит  для  случаев больших
панелей,   которые  еще  и  могут  изменять  свой  размер.  Установкой
соответствующего  общему  стилю  цвета  (Color)  вполне можно добиться
единства внешнего вида, тем не менее).

Так  же,  в  MCK: для ряда контролов, могущих иметь внутренние линейки
прокрутки,  доступно свойство OverrideScrollbars. Значение его true по
умолчанию,   но   генерируемый   код   заключается  в  скобки  {$IFDEF
OVERRIDE_SCROLLBARS}...{$ENDIF}.  Т.о.,  для  замены  скроллбаров  при
использовании  ToGRush, достаточно добавить символ OVERRIDE_SCROLLBARS
к  опциям  проекта.  Писатели  компонентов  (контролов  с  внутренними
скроллами)  должны  так же присвоить TRUE полю fHasScrollbars2Override
(protected),   для   обеспечения   генерации   соответствующего  кода.
Разумеется,  всегда  можно вызывать функцию OverrideScrollbars в своём
коде  (если  не используется MCK или контрол в зеркале не поддерживает
свойство OverrideScrolbars).

См  так  же  новую  версию  KOLDirDlgEx (в архиве KOLadd.zip), который
использует возможность переопределения прокруток на стиль GRush, когда
включён символ USE_GRUSH.

[*]   Свойство   ParentWindow   теперь  всегда  возвращает  дескриптор
родительского  окна, независимо от того, является ля родительское окно
"своим" или "чужим" (установленным функцией API SetParent).

[-]   Процедуры   TControl.DoSetFocus   и   WndProcForm   (asm-версии)
исправлены   (обнаружены   небольшие  баги,  ранее  себя  серьёзно  не
проявлявшие,  но  мешавшие  корректной  работе заменителей прокруток в
стиле GRush).

[-]   TControl.SetCaption   -  исправлена  asm-версия:  у  LabelEffect
заголовок  не  изменялся при присваивании значения (не вызывался метод
Invalidate.  Вместо  того,  вызывался  лишний  Invalidate  для обычной
метки).

[+]  Для  форм  со  свойством CanResize = FALSE, соответствующий пункт
системного меню теперь делается недоступным.


mdw   (2007-10-19 11:00:00) [21]

Владимир, спасибо. Вроде заработало (TLIST_FAST). Еще потестирую конечно, но пока работает.


Vladimir Kladov   (2007-10-18 21:09:00) [22]

Надо в процедурах сортировки {$IFDEF ASM_VERSION} заменить на ...ASM_TLIST} и такие же скобки добавить в KOL_ASM.inc. Процедуры CompareStrListItems  и CompareAnsiStrListItems. Т.е. попросту отключить асм для них двух.


Vladimir Kladov   (2007-10-18 15:59:00) [23]

Посмотрю.


mdw   (2007-10-18 11:46:00) [24]

К предыдущему посту. Проявляется только на ASM_VERSION.


mdw   (2007-10-18 11:37:00) [25]

Владимир, очередной баг в TLIST_FAST. Вот простейший пример:
procedure TMainForm.Button2Click(Sender: PObj);
var SLE: PStrListEx;
   i: Integer;
begin
   SLE:= NewStrListEx;
   for i:= 0 to 100000 do begin
     SLE.AddObject(Int2Str(Random(1000)), i);
   end;
   SLE.Sort(False); // здесь валится
   SLE.Free;
end;


Vladimir Kladov   (2007-10-17 15:16:00) [26]

Разберитесь. Что спрашивать? Или я должен помнить каждый нюансик в 100000 строк кода? Мне непонятно вообще, зачем в том примере, что был приведён выше, через канву рисовать. Есть гораздо более быстрый способ. ScanLine[] есть, формат битмапа знаете. И вперёд.


Robt   (2007-10-17 08:13:00) [27]


> Объявлется переменная C: PCanvas; присаивается и дальше
> используется, вместо того чтобы её каждый раз получать заново.
>

а в битмапе канвас пересоздается при каждой операции рисования типа lineto ?


Vladimir Kladov   (2007-10-16 19:45:00) [28]

НЕТ НЕ БУДУТ

Объявлется переменная C: PCanvas; присаивается и дальше используется, вместо того чтобы её каждый раз получать заново.


SergeR   (2007-10-16 17:21:00) [29]

http://kolmck.net/r_updates.htm


Elec3C   (2007-10-16 17:18:00) [30]

Хм!? На сайте только 2.80 версия ( http://www.kolnmck.ru/files1.shtml).


homm   (2007-10-16 15:15:00) [31]

> [2] Robt ©   (16.10.07 15:13)

Какие тормоза?


Robt   (2007-10-16 15:13:00) [32]

А ТОРМОЗА КАНВАСА+БИТМАП ПРИ РИСОВАНИИ БУДУТ ПРАВИЦА ?


thaddy   (2007-10-13 02:22:00) [33]

++++ for this year...


Страницы:   1 2

Наверх

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