Цитата(zltigo @ Jul 20 2009, 14:39)

При этом РЕАЛЬНО совершенно незачем использовать над API надстройки.
Программа живет в среде операционной системы, подобно тому, как человек живет в городе. API в этом смысле выступает, как "коммунальные услуги", предостявляемые программе совершенно бесплатно, в отличие от гражданина, который подобные услуги оплачивает из свого кармана.
Услуги, предоставляемые операционной системой программе, чем-то схожи с водопроводом, отоплением, канализацией, сетью магазинов и т.п. Программа, отстаивающая свою независимость от платформы, подобна маняьку, который овощи выращивает на подоконнике в цветочных горшках, воду собирает с крыши, отапливается буржуйкой или по-черному, а по малой и большой нужде ходит в яму, выкопанную посреди комнаты

. От такой "независимости" вреда куда больше, чем в зависимости от операционной системы, которая предоставляет столько возможностей, что глаза буквально разбегаются. А операционная система Windows в этом смысле самая щедрая.
Цитата(zltigo @ Jul 20 2009, 14:39)

Надстройки это просто отрыжка борлондячей политики привязывавшей пользователей всеми средствами прользователей к своим "особенным" продуктам.
OWL-библиотека лишь группирует средства API вокруг определенного пользовательского элемента. Например класс TButton описывает кнопку, в котором функции-члены класса позволяют делать с этой кнопкой всё, на что кнопка в принципе способна. Т.е. тут есть и функции, утапливающие эту кнопку, и опредляющие надпись или картинку на ее поверхности, и функции автоматически делающие ее активной или неактивной в зависимости от любого условия. Кроме того есть множество функций, которые сами выполняются при каких-то ситуациях с этой кнопкой, например, когда на нее наведена мыщь, или по ней этой мышью кликнули один раз, дважды, или нажали над ней правую кнопку мыши, активировали табулятором и т.п. Сюда же относятся и функции, которые запускаются, если окно, на котором изображена эта кнопка, именило свои габариты (например, было растянуто), изменилось разрешение экрана или масштаб диалоговых элементов, или пользователь сменил палитру рабочего стола. Кроме того, дилоговое окно, которое, в свою очередь, представлено своим классом (TDialog) тоже всегда находится в курсе, что происходит с элементами, на нем расположенноми. Поэтому устанавливая кнопке класс TButton, мы тем самым делаем ее управляемой от диалогового окна, делая возможными групповые операции типа "когда одну из кнопок нажимаем, ранее нажатая выскакивает".
Перечислять возможные ситуации можно очень долго, но главный плюс в том, что все эти функции, определяющие реакцию стандарной кнопки на "раздражение" уже написаны. А программист лишь доопределяет эти функции (дописывает или заменяет на свои) в том случае, когда стандартная реакция кнопки его не устраивает.
Надо признать, что подобным же образом организованы пользовательские классы и в Qt, и во многих других библиотеках классов. Т.е. это отнюдь не изобретение Борланда, а сложившаяся тенденция использования графических элементов в условиях, когда программисту становится сложным предусмотреть все возможные ситуации, которые могут реально возникнуть. Кроме того это чрезвычайно сильно облегчает написание программы, поскольку программу можно строить из стандартных кубиков, занимаясь модернизацией кубика только в тех случаях, когда в этом возникает острая необходимость.
Понятно, что самый компактный и экономичный способ существования получится, если ездить общественным транспортом, а не заниматься содержанием лошади, заготовкой ей сена и т.п.

Времена натурального хозяйства давно прошли. И в отношении к компьютерной среде, в том числе.