![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия 2.83 [Delphi, KOL/MCK, Windows]
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...