Давно хотел задать этот вопрос, боялся, что запинают. Но все-таки задам. Итак,
Почему VCL такая дубовая?
Я имею в виду как раз то, за что ее так хвалят — быстрое создание удобного пользовательского интерфейса. Вот как раз этого качества я в ней обнаружить не могу, наоборот, сделать что-то совсем простое или практически невозможно или очень сложно. Чтоб было понятно о чем я, скажу, что когда-то писал программки на Access, вот там действительно получается очень удобный и красивый интерфейс (надеюсь, никто не будет мне советовать на него перейти).
Например, такая простая вещь, как переход между контролами через Enter, стрелочки, да, знаю, можно сделать через обработку KeyPress, есть и компоненты для этого, но это же все лишний геморрой и причем для каждой формы и переход по стрелочкам все равно не сделаешь.
Потом, что меня убивает, невозможно определить такое событие, как ввод пользователем чего-либо в какое-то поле. Ведь мелочь же совершеннейшая! Тем не менее помню, как на эту мелочь я когда-то убил уйму времени и все равно красиво сделать не удалось, а нужно было всего-то лишь, чтобы при вводе пользователем даты открывался архив, ну и на какое событие его открывать? На exit нельзя, пользователь ввел дату и спокойно ждет когда откроется архив и уходить никуда не собирается, на change тоже нельзя, он реагирует на каждый нажатый символ, тем более, что можно дату не вводить, а выбрать из календаря, на клавишу Enter, опять-таки, если дата выбирается из календаря, то с какой радости пользователь должен нажимать Enter? В общем так и не удалось эту проблему решить.
Можно было еще долго продолжать этот список, но ладно, не буду утомлять народ.
Конечно все эти проблемы можно решить с помощью создания компонент в ран-тайм, но тогда теряется визуальность разработки и зачем тогда вообще нужен этот RAD?