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

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

Версия 2.54 [Delphi, Windows]


Страницы:   1 2

Vladimir Kladov ©   (2007-02-25 20:14:00) 

Новости от 25 февраля 2007 (KOL & MCK v2.54)

[-]
ASM
Метод TBitmap.Convert2Mask (asm-версия) исправлен для случая 256 цветов (pf8bit).

[-]
MCK
Удалены дублирующие присваивания свойству Name (для символа USE_NAMES) для некоторых объектов (наследников TKOLObject). Присваивание свойству Name для TKOLDataModule исправлено (объект сохраняется в списке самого объекта, а не в  Applet, т.к. он разрушается после разрушения объекта Applet и финальная очистка имени приводила к краху приложения на завершении).

Не в ту тему сначала отправил.


  (2007-10-03 10:12:00) [1]

Удалено модератором


  (2007-10-03 10:12:00) [2]

Удалено модератором


  (2007-08-08 21:30:00) [3]

Удалено модератором


Vladimir Kladov   (2007-03-20 15:39:00) [4]

Ну а разница-то какая того, что есть - по сравнению с IFDEF? Все равно решение принимает программист. И в обоих случаях, чтобы принять такое решение, он должен быть в курсе, что для этого сделать.


GMax   (2007-03-19 23:26:00) [5]

ну если уж на то пошло, может тогда все-таки дать честную _стандартную_ возможность программисту добиться нужного функционала, как обычно, через IFDEF ?
понятно, что через onMessage можно всё, но ведь и на WinApi можно тоже, однако мы KOL пользуемся ;-)


Vladimir Kladov   (2007-03-19 16:30:00) [6]

1. я ни с кем не борюсь. В своей правоте уверен, и все уже и так сделал, как считаю нужным и правильным.
2. речь идет не о 10 а о 1хх байтов. Кому непонятно, из чего они складываются, код открыт, смотрите, изучайте.
3. тесты были проведены, и это сокращение было проделано заодно с кучей прочих не так давно. Размер минимального приложения тогда как раз и сократился с 14К до 11.5К. ЭКОНОМЬТЕ БАЙТЫ, КИЛОБАЙТЫ САМИ СЕБЯ СБЕРЕГУТ.


D[u]fa   (2007-03-19 08:13:00) [7]

Вот и я про то же... надо было тесты провести, добавить и проверить размер)


GMax   (2007-03-19 00:25:00) [8]

честно говоря, я вообще не понимаю борьбы за 10 байт в данном конкретном случае, тем более, что эти десять байт наверняка растворятся в каком-нибудь alignment'е и на конечный размер exe-шника никак не повлияют.
а вот логике это будет соответствовать. всё-таки Destroy происходит, значит и событие должно быть.


Galkov   (2007-03-18 18:38:00) [9]

Ну, тут технических проблем нет.
Кроме одной: задачи перестают быть "локальными", если несколько динамических объектов цепляются на один и тот же OnMessage. Именно динамических, и именно несколько – проблема при уничтожении динамического объекта, непонятно как удалить именно свой "перехват".

Но главное таки, это то, что OnMessage - все-таки "универсальное" решение.
А то самое "имхо" состояло в том, если делать "персональное" решение, то правильней без "избыточного интеллекта", заключающегося в ограничении возможностей, предоставляемых WinApi.

И, безусловно, без отрицания полезности и такого "персонального" решения
В общем, именно ИМХО :)
И конечно WM_MOUSEWHEEL - это только пример. Можно и еще привести.


Vladimir Kladov   (2007-03-18 08:49:00) [10]

OnMessage - и вы можете перехватить и не допустить дальнейшего исполнения ЛЮБОГО сообщения.


Galkov   (2007-03-18 08:20:00) [11]

Есть другое ИМХО :))

KOL тоже не всегда свободен от "подумать за программиста"

Ну, скажем, упомянутый недавно здесь на форуме WM_MOUSEWHEEL.
В KOL уже принято решение за программиста, что обязательно будет вызвано DefWindowProc

Ну и неправильно это, ИМХО (вот оно, другое :))
- даже если иное потребует лишних 10 байт кода
- даже если мало кто знает, чем отличается вызов от невызова
- и потребует дополнительного изучения библиотеки

ЗЫ: это просто пример, на котором интересно посмотреть отношение Автора к аналогичным вопросам.


Vladimir Kladov   (2007-03-18 07:06:00) [12]

Что влечет за собой неоправданные расходы на изучение особенностей Вашей библиотеки.
Любая библиотека требует изучения. Нежелание читать мануалы и комментарии меня волнует меньше всего. Кто не желает, может и дальше пользоваться VCL, если думает, что им можно пользоваться без изучения VCL.


AndreyRus   (2007-03-17 19:36:00) [13]


>  Даже если бы только 1 приложение из 100 было таким, которое
> не нуждается в анализе завершения сессии, я был бы вынужден
> предоставить такую возможность.


Это неправильный подход, правильный - если больше половине программ это нужно и это можно реализовать "малой кровью", значит лучше так тому и быть. IMHO.


> Единственный способ это сделать - переложить это окончательное
> решение на программиста.


Что влечет за собой неоправданные расходы на изучение особенностей Вашей библиотеки. Уверен, увеличение программ на 10 байт - не повод для появления новой.


Vladimir Kladov   (2007-03-17 18:55:00) [14]

KOL существует потому, что VCL не дает такой возможности - отказаться от кода, который в данном конкретном приложении не нужен. Даже если бы только 1 приложение из 100 было таким, которое не нуждается в анализе завершения сессии, я был бы вынужден предоставить такую возможность. Единственный способ это сделать - переложить это окончательное решение на программиста. И точка.


AndreyRus   (2007-03-17 17:41:00) [15]


> Galkov
> Ах вот оно что такое ООП, оказывается !!!Дать человеку возможность
> не думать...

Не уродствуйте! Не думать... это как? ООП позволяет меньше задумываться о проблемах поведения кода в зависимости от окружающей среды, например OS. Слова инкапсуляция, полиморфизм и наследование вам должны ведь быть знакомы?


> И, кстати, обработка там идет в OnMessage, своя.
>  Наверное OnQueryEndSession еще не существовало.


OnQueryEndSession вообще не нужен в KOL! Его реализация очень проста даже для новичка в KOL&VCL и вот он действительно не нужен (+1xx байт).
Но вот обработка родственных событий Windows обязательно должна присутсвовать в логике работы любой программы при ее разрушении.
Владимир, хотите я навскидку назову десяток типов задач (программ) надежность работы которых, при сокращении KOL на эти злосчасные десять байт (сравнение&переход), будет уменьшена ровно на количество (выключений&перезагрузкок, в том числе и аварийных&гибернаций&переходов в режим энергосбережения).


Vladimir Kladov   (2007-03-17 15:36:00) [16]

Это ваше имхо. Из тем десятков программ, которые я накорябал за последние 8 лет, только одной потребовалось обработать завершение винды. Как раз чтобы сохранить "документ" (но ничего при этом не спрашивая у бедного пользователя, в файл типа Autosave. Вы только представьте себе, каково пользователю, с запущенными примерно 15 приложениями будет завершать сессию, если они все начнут что-то спрашивать...). И, кстати, обработка там идет в OnMessage, своя. Наверное OnQueryEndSession еще не существовало.


Galkov   (2007-03-17 09:45:00) [17]

Ах вот оно что такое ООП, оказывается !!!
Дать человеку возможность не думать...


AndreyRus   (2007-03-16 23:56:00) [18]


> С этого момента, по-подробнее, пожалуйста :))

По настоящему, впервые ООП поразило меня в "Turbo Vision", где назначив обрабочик закрытия окна, я не беспокоился о том, как будет закрыто окно (крысой или клавой). ;)


Galkov   (2007-03-16 22:27:00) [19]


> что нарушение идеологии OOП в ущерб размеру программ недопустимо

С этого момента, по-подробнее, пожалуйста :))


AndreyRus   (2007-03-16 21:45:00) [20]


> Если 10 байт нужны 10% программ, то по правилам KOL, за
> добавление этих 10 байт отвечает программист.


Далеко не 10%-ам, IMHO, больше половины. Например, операции изменения файла (шифрование, сжатие). Файловая система, это вам, не сочтите за наглость, не SQL сервер. Автоматические транзакции отсутствуют. Последствия... катастрофические. А ведь это изменение в КОL прошло практически незамеченным. Разработчики будьте внимательны! Уважаемый Владимир! Мне кажется, что нарушение идеологии OOП в ущерб размеру программ недопустимо. Энтропия не пройдет!


Страницы:   1 2

Наверх

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