![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия 2.40 [Delphi, KOL/MCK, Windows]
Vladimir Kladov © (2006-10-14 12:25:00)Новости от 14 октября 2006 г.
Новости KOL и MCK (v2.40):
[*]KOL: добавлен символ NOT_USE_RICHEDIT, применим, если не
используются контролы rich edit. Отключает весь код, связанный с rich
edit, и ссылку в секции uses на модуль richedit, экономит около 60
байт кода.
[*]KOL: добавлен символ USE_GRAPHCTLS, следует использовать, если в
проекте используются графические контролы, иначе экономится более 100
байт в коде.
[*]KOL: теперь TControl.Caption представляется строкой (AnsiString в
обычном случае, WideString в случае UNICODE_CTRLS).
[*]KOL: в случае SMALLEST_CODE свойство Icon более не назначается
автоматически из ресурса MAINICON для формы/апплета при создании окна,
если не было назначено своим кодом. В противоположном случае (символ
SMALLEST_CODE не используется) теперь можно использовать символ
CUSTOM_APPICON, чтобы использовать собственное имя ресурса для главной
пиктограммы.
[*]KOL: комментарии к TTimer исправлены (давно уже используется не
окно Applet, а отдельное собственное окно).
[+]KOL: добавлена константа Infinity (бесконечное число, как 1/0, в
коде для Free Pascal появляться не будет).
[+]KOL: добавлена функция IsInfinity.
[-]KOL: исправление для версий Delphi 2, 3: удалена директива
{$EXTERNALSYM}, обеспечен вызов inherited для Init в TStrList,
TThread.
[*]KOL: в случае UNICODE_CTRLS функции MsgOK, MsgBox, ShowMsg так же
работают со строкой Unicode и используют соответствующие версии
API-функций.
[*]KOL: добавлен символ CRASH_DEBUG для интенсивного тестирования
обращения к неверной памяти: вся память объекта после деструктора
забивается байтами с шестнадцатеричным кодом $DD.
[+++]KOL: добавлен символ NOT_USE_AUTOFREE4CONTROL. Теперь большую
часть действий по уничтожению подчиненных объектов в деструкторе берет
на себя список fAutoFree, с этой опцией все возвращается к исходному
состоянию. Новый код короче на пару сотен байт.
[*]KOL: изменен метод TObj.Final: объекты, добавленные в список
fAutoFree, уничтожаются теперь в обратном порядке.
[+]KOL: добавлены методы TObj.RemoveFromAutoFree, RemoveFromAutoFreeEx.
[***]KOL: изменен порядок обработки сообщений с целью аккуратного
уничтожения отработавших форм, и корректного завершения приложения.
Изменения в WndFunc, TerminateExecution (asm-версия). Исправлено
неотрабатывание деструкторов форм при завершении приложения.
[+]KOL: добавлен символ BUTTON_DBLCLICK_AS_CLICK: при его наличии
двойной клик левой клавишей мыши на всех кнопках превращается в два
клика в любом случае.
[+]KOL: добавлен символ DEFAULT_CANCEL_BTN_EXCLUSIVE: при его наличии
DefaultBtn и CancelBtn взаимоисключают друг друга. По умолчанию теперь
можно назначать оба эти свойства для кнопки в true одновременно.
[+]KOL: добавлен символ NO_DEFAULT_BUTTON_BOLD: при его наличии кнопка
с DefaultBtn = true не выделяется своей утолщенной границей (не
назначается стиль BS_DEFPUSHBUTTON, но функциональность сохраняется).
[+]KOL: добавлен символ CLICK_DEFAULT_CANCEL_BTN_DIRECTLY: при его
наличии кнопка по умолчанию и кнопка отмены нажимаются не визуально
без передачи фокуса кнопке.
[-]KOL: asm-версии методов TControl.DoSetFocus, TControl.GetHasBorder,
TControl.SetVerticalAlign, TControl.DC2Canvas, TControl.SetTransparent
приведены в соответствие с Паскаль-версиями.
[-]KOL: исправления в методе TControl.IsMainWindow.
[-]KOL: прежняя обработка WM_ENDSESSION в процедуре WndProcForm
отключена (фактически выполняла немедленное завершение приложения
через вызов Halt), теперь этот код можно специально включить символом
ENDSESSION_HALT.
[-]KOL: исправлена процедура JustOneNotify (asm-версия).
[*] Минимальное приложение с пустой формой (без заголовка, со
значениями DefaultSize=true, DefaultPos=true - в случае MCK) занимает
при компиляции в Delphi5 (с заменой системных модулей, при включении
оптимизации и отключении отладочной информации, с символами
SMALLEST_CODE и NOT_USE_RICHEDIT) всего 10,5Кбайт.
[*] В MCK поддержка KOLCtrlWrapper отключена (перестала
функционировать), так что внешний вид формы на этапе разработки теперь
значительно меньше похож на то, что видно после запуска (то есть
теперь NOT_USE_KOLCTRLWRAPPER по умолчанию включен, обратно включать
не следует).
Прочие новости:
[*]написание Книги о KOL продвинулось еще немного - уже 170 страниц.
Новейшую версию пока брать на сайте kolnmck. Обновления - там же (сайт
bonanzas.rinet.ru пока что неисправен).
Vladimir Kladov (2006-10-16 18:39:00) [81]чего лопатить-то, все директивы близко к началу kol.pas описаны. В последнй версии книги они описаны еще подробнее, на русском языке. По крайней мере, все хоть сколько-нибудь практически полезные.
bonanzas.rinet.ru все еще не работает. Те огрызки, что там остались, я не могу даже обновить новыми версиями. пока пробуем дождаться решения вопроса от спонсора.
Я чего-то не понял: 2.41b так и не дошел еще, я повторно выслал уже 3 часа назад.
Psychedelic (2006-10-16 18:05:00) [82]7zip со сжатием PPMD ULTRA - 432. На мой взгляд лучше rar . Удобно заходить в архивы. Разница в 30 кило - не играет роли даже для модема
(на 6 сек дольше).
Psychedelic (2006-10-16 17:58:00) [83]Rar (solid архив, максимум) - 465 кило
7ZIP (solid, ultra или максимум, LZHA) - 516 (??? )
Думаю лучше раром. Т.к. в тотале удобно заходить сразу в архив как в папку
ANTPro (2006-10-16 17:11:00) [84]я говорил про пользователей а не инет.
может ктонибудь скажет кому нужен именно ЗИП ?
т.е. вообще заменить его 7ЗИПом.
а то ведь накладно будет выкладывать в 2х версиях ?
ЗЫЖ ВИНРАР с версии 3.42 распаковывает и *.7z
D[u]fa (2006-10-16 16:07:00) [85]Поддерживаю насчет применения рара либо 7зипа =)
homm (2006-10-16 15:40:00) [86]> Перелопатить 2 мегабайта кода в поисках этих директив не
> каждый сумеет
Если бы Вы перелопатили хотябы первые 10 килобайт, то вопрос бы отпал сам собой.
vampir_infernal (2006-10-16 15:35:00) [87]Уважаемый Владимир Кладов. Я думаю, было бы не плохо написать список всех директив, используемых в KOL, с их описаниями, и выложить отдельно на сайте. Перелопатить 2 мегабайта кода в поисках этих директив не каждый сумеет, и часто бывает так, что проблема решается одной директивой, а человек бьется неделю, и в итоге так и не находит ответа.
Спасибо.
homm (2006-10-16 14:20:00) [88]> А кто сказал что ЗИП распространен ?
Ну я :)
За бугром вроде он намного популярнее рара, по крайней мере н видел ниразу архивы в раре не в ru.
ANTPro (2006-10-16 12:29:00) [89]7zip со сжатием PPMD ULTRA самое то :)
А кто сказал что ЗИП распространен ?
Barloggg (2006-10-16 12:05:00) [90]кстати иногда бывает что "нормальное" сжатие на RAR работает лучше чем "лучшее".
Карты к игре МАХ например. :)
в KOL уже много ключей наплодилось однако...
может пора уже делать панель управления?
например в заголовок файла с формой которая генерируется MCK по умолчанию сразу вбить стопку всех возможных ключей кто-то зареман, кто-то разреман и по желанию из настраивать.
или в один из inc файлов это все сгрузить...
MTsv DN (2006-10-16 11:45:00) [91]> Может правда лучше в 2-х вариантах выкладывать? В "распространенном"
> и в "хорошо сжимающим", причем в качестве второго я бы присоветовал
> не рар а сэвэнзип.
OK. Если честно, я тоже за 7zip... Придется подождать несколько дней...
homm (2006-10-16 11:40:00) [92]2 MTsv DN
Может правда лучше в 2-х вариантах выкладывать? В "распространенном" и в "хорошо сжимающим", причем в качестве второго я бы присоветовал не рар а сэвэнзип.
MTsv DN (2006-10-16 09:02:00) [93]Обновление доступно на http://www.kolnmck.ru
Psychedelic (2006-10-16 01:32:00) [94]Почему бы KOL архив не жать rar ' ом, а не зипом?
Почти в два раза меньше качать - 465 вместо 717.
не сказал бы что rar не распространенный.
D[u]fa (2006-10-15 22:40:00) [95]так когда ждаь 2.40б? =)
Vladimir Kladov,а почему бы на http://bonanzas.rinet.ruне выложить?
вроде говорили он в дауне, а у меня работает %)
MTsv DN (2006-10-15 21:31:00) [96][b]2 Vladimir Kladov[/b]
Владимир,а обновление 2.40б,не пришло :-( Дошло лишь обновление для KOLPNG,KOLPcx и т.д. Я их уже выложил...
Vladimir Kladov (2006-10-15 20:47:00) [97]да, USE_NAME для объектов MCK, что я упоминал выше, там тоже исправлены, и NOT_USE_AUTOFREE4CONTROLS тот символ теперь называется, с S на конце - если кому надо обязательно именно старую версию. Если что-то глючит еще, говорите, смотреть буду. И проверяйте для PAS_VERSION - уже 2 раза баг был в asm-версии.
Vladimir Kladov (2006-10-15 20:41:00) [98]отправил 2.40b MTsv DN, ловите. Исправления для прозрачности (асм), UNICODE и размерчик 10,5К под D5.
Vladimir Kladov (2006-10-15 16:37:00) [99]Кстати, я так особо не акцентировал, но если у вас в новой версии 2.40а начинает что-то ломаться, то пробуйте для начала NOT_USE_AUTOFREE4CONTROL (S на конце, кажется, посмотрите там). А вообще может быть связано как раз с тем, что деструкторы сами раньше не отрабатывали, и если вы их своим кодом где-то вызывали (или инициировали вызов), то теперь они еще раз могут попробовать себя убить. Повторная попытка освобоить память получается. Я уже в паре проектов с большим числом потоков наткнулся на это.
Что-то никто не говорил, но USE_NAMES не работало для многих объектов в MCK (TTimer, TThread, TImageList, TOpenDir...). В следующей версии и это победим.
Vladimir Kladov (2006-10-15 10:55:00) [100]я сейчас попробовал включить UNICODE_CTRLS. Надо кое-что подправить (кое-что я уже подправил), чтобы заработало. Основные изменения в меню, статус-строке, и конечно - Caption. Возможно, следующая версия сможет и впрямь работать с UNICODE.