Текущий архив: 2014.08.17;
Скачать: CL | DM;
Вниз
Вот говорят, что дельфи не умирает Найти похожие ветки
← →
vuk © (2014-01-22 17:15) [320]to DevilDevil © (22.01.14 17:03) [316]:
> VCL проект в Delphi6 занимает порядка 350КбVCL проект в
> Delphi XE занимает порядка 10Мб, если ничего не путаю
Путаете, определенно. Сейчас посмотрел, махонький проект, но сс cxGrid, ExpressBars и кой-каким своим фреймворком. Три с половиной мега.
← →
Игорь Шевченко © (2014-01-22 17:25) [321]Проект с пустой формой в XE5 без отладочной информации - 2,104,320 байт
Проект с пустой формой в XE5 с отладочной информацией - 10,795,179 байт
← →
DevilDevil © (2014-01-22 17:31) [322]> vuk © (22.01.14 17:11) [318]
> Они не вписываются в компонентную модель VCL. То есть это
> должен быть какой-то свой фреймфорк, с блекджеком и шлюхами.
Если сейчас VCL использует для прогрузки свойств RTTI - это совсем не значит, что всегда будет использовать RTTI, и тем более не значит, что всегда должна будет использовать RTTI.
> И да, расписывание сериализации в ручную не уменьшит размер
> исполняемого модуля.
Ты используешь сильно общие термины, не обозначая область применения. Если мы говорим о замене dfm на инициализирующий код и отказе от RTTI в местах, где разработчик явно не укажет использовать RTTI - то разумеется размер бинарника сократится. Что в данном случае подразумеваешь ты - видимо известно только тебе
← →
DevilDevil © (2014-01-22 17:32) [323]> Игорь Шевченко © (22.01.14 17:25) [321]
а зачем в exe заливать 8Мб отладочной информации ?
← →
vuk © (2014-01-22 17:52) [324]to DevilDevil © (22.01.14 17:31) [322]:
> Если сейчас VCL использует для прогрузки свойств RTTI -
> это совсем не значит, что всегда будет использовать RTTI,
> и тем более не значит, что всегда должна будет использовать
> RTTI.
Очевидно, что это будет уже не VCL, а что-то другое. :) VCL же, я думаю, останется такой же, как и была.
← →
DevilDevil © (2014-01-22 17:56) [325]> vuk © (22.01.14 17:52) [324]
> Очевидно, что это будет уже не VCL, а что-то другое. :)
> VCL же, я думаю, останется такой же, как и была.
http://ru.wikipedia.org/wiki/Visual_Component_Library
Здесь пишут, что VCL - это "Библиоте́ка визуа́льных компоне́нтов", и ни слова про RTTI
Говорить что VCL это RTTI-прогрузка свойств, а RTTI-прогрузка свойств это VCL - да не забанят меня модераторы, глупо.
← →
vuk © (2014-01-22 17:58) [326]to DevilDevil © (22.01.14 17:56) [325]:
> и ни слова про RTTI
Ну, займись, выкини оттуда RTTI, посмотри, что получится. Насколько оно будет визуально и компонентно. :)
← →
имя (2014-01-22 18:01) [327]Удалено модератором
← →
vuk © (2014-01-22 18:03) [328]Удалено модератором
← →
DevilDevil © (2014-01-22 18:04) [329]> vuk © (22.01.14 18:03) [328]
Я не считаю, что всякую мелочь нужно доказывать
Тем более человеку, который имеет статус "Мастера"
← →
vuk © (2014-01-22 18:07) [330]Мне почему-то не кажется, что это мелочь. Но раз доказательством теорий заниматься желания нет, то так пусть и будет тем, что есть - трепом.
← →
DevilDevil © (2014-01-22 18:08) [331]Okey, иду тебе на встречу
Докажи, что прогрузить свойства без VCL невозможно - а я докажу, что каждый приведённый тобой пример достаточно легко обходится.
← →
DevilDevil © (2014-01-22 18:09) [332]* без RTTI
← →
vuk © (2014-01-22 18:11) [333]Пример приводился. Компонент, загружающий свойства других компонентов из некоего хранилища. Список свойств и может поступать извне.
← →
vuk © (2014-01-22 18:11) [334]Список свойств настраиваемый и может поступать извне.
← →
DevilDevil © (2014-01-22 18:18) [335]> vuk ©
В данном примере тебе сериализация, ничего общего не имеющая с вопросом прогрузки свойств "из dfm". Сериализацию делаешь вручную или выставляя опции компилятора генерировать RTTI по конкретным компонентам. Сериализация нужна не всем и не часто. Это совсем не означает, что всё остальное мировое сообщество обязано таскать в своих приложениях 10Мб ненужного хлама.
← →
DevilDevil © (2014-01-22 18:19) [336]* нужна
← →
vuk © (2014-01-22 18:24) [337]to DevilDevil © (22.01.14 18:18) [335]:
> В данном примере тебе сериализация, ничего общего не имеющая
> с вопросом прогрузки свойств "из dfm"
Механизм в основе один и тот же - RTTI. Без этого механизма автоматизированная работа таких вещей нереальна.
> Сериализацию делаешь вручную или выставляя опции компилятора
> генерировать RTTI по конкретным компонентам.
Ключевая особенность - компонент не знает заранее, что ему придется загружать. Надо генерить по всем. И какая разница тогда?
> Сериализация нужна не всем и не часто.
Кому как. У меня такой компонент живет в базовом фрейме приложения. :)
← →
vuk © (2014-01-22 18:27) [338]Да, насчет хлама. Хлам в исполняемом модуле, главным образом тогда, когда основное занятие - развлечение с компиляцией пустого проекта. Чем больше приложение делает много чего нужного, тем меньше остается хлама. И тем меньше обращаешь на него внимание. Мировое сообщество, судя по приведенным тут ссылкам, делает примерно так же. Такие дела.
← →
DevilDevil © (2014-01-22 18:27) [339]> vuk © (22.01.14 18:24) [337]
> Механизм в основе один и тот же - RTTI. Без этого механизма
> автоматизированная работа таких вещей нереальна.
Сейчас
Сейчас прогрузка свойств из dfm осуществляется через сериализацию
Но это совсем не означает, что прогрузка свойств обязана производиться через сериализацию
> Кому как. У меня такой компонент живет в базовом фрейме
> приложения. :)
Тебе нужна - ты и используй
Зачем ты пихаешь сериализацию тому, кому она нафиг не нужна?
← →
Василий Иванов (2014-01-22 18:29) [340]
> DevilDevil © (22.01.14 17:03) [316]
>
> > Василий Иванов (22.01.14 17:01) [314]
> > извините, а RTTI сильно много размер увеличивает?
>
> VCL проект в Delphi6 занимает порядка 350Кб
> VCL проект в Delphi XE занимает порядка 10Мб, если ничего
> не путаю
Да, но какой вклад в размер здесь дает RTTI? И вообще, что ты под этим термином понимаешь? Все методы и прочее, что, возможно(скорее всего), никогда не будут вызваны в расчет не принимаются - спорить об очевидном сейчас нет настроения.
← →
DevilDevil © (2014-01-22 18:29) [341]> vuk © (22.01.14 18:27) [338]
> Да, насчет хлама. Хлам в исполняемом модуле, главным образом
> тогда, когда основное занятие - развлечение с компиляцией
> пустого проекта. Чем больше приложение делает много чего
> нужного, тем меньше остается хлама. И тем меньше обращаешь
> на него внимание. Мировое сообщество, судя по приведенным
> тут ссылкам, делает примерно так же. Такие дела.
Мировое сообщество отказывается от Delphi и C++Builder. "Несмотря на то", что сериализация всего существует уже не первый год
Вот такие дела
← →
DevilDevil © (2014-01-22 18:30) [342]> Василий Иванов (22.01.14 18:29) [340]
> Да, но какой вклад в размер здесь дает RTTI? И вообще, что
> ты под этим термином понимаешь? Все методы и прочее, что,
> возможно(скорее всего), никогда не будут вызваны в расчет
> не принимаются - спорить об очевидном сейчас нет настроения.
А у тебя у самого есть какие-нибудь догадки, почему раньше VCL-приложение весило 350кб, а сейчас даже пусть 2Мб ?
← →
Юрий Зотов © (2014-01-22 18:32) [343]Удалено модератором
← →
vuk © (2014-01-22 18:34) [344]to DevilDevil © (22.01.14 18:29) [341]:
> Мировое сообщество отказывается от Delphi и C++Builder.
> "Несмотря на то", что сериализация всего существует уже
> не первый годВот такие дела
Зато оно же во всю использует, например, дотнет. Про размер этого компонентного фреймворка, надеюсь, напоминать не надо?
← →
имя (2014-01-22 18:35) [345]Удалено модератором
← →
имя (2014-01-22 18:36) [346]Удалено модератором
← →
Василий Иванов (2014-01-22 18:37) [347]
> DevilDevil © (22.01.14 18:30) [342]
> А у тебя у самого есть какие-нибудь догадки, почему раньше
> VCL-приложение весило 350кб, а сейчас даже пусть 2Мб ?
методы там всякие. Это тоже к RTTI относится?
← →
DevilDevil © (2014-01-22 18:40) [348]> методы там всякие. Это тоже к RTTI относится?
если свойство или метод попадает в RTTI - то связанный с ним код попадает в линкер
раньше это касалось только published-свойств наследников TPersistent. Сейчас это касается всего. Поэтому разница минимум в 6 раз
← →
vuk © (2014-01-22 18:40) [349]Удалено модератором
← →
имя (2014-01-22 18:42) [350]Удалено модератором
← →
Василий Иванов (2014-01-22 18:42) [351]Удалено модератором
← →
vuk © (2014-01-22 18:44) [352]Удалено модератором
← →
Василий Иванов (2014-01-22 18:46) [353]Удалено модератором
← →
Юрий Зотов © (2014-01-22 18:49) [354]Удалено модератором
← →
имя (2014-01-22 19:04) [355]Удалено модератором
← →
Плохиш © (2014-01-22 19:10) [356]Ну всё, опять ветка за вас краснеет.
← →
Ega23 © (2014-01-22 19:17) [357]
> а зачем в exe заливать 8Мб отладочной информации ?
Ну как... Есть Release, есть Debug.
← →
DevilDevil © (2014-01-22 19:19) [358]> Ega23 © (22.01.14 19:17) [357]
Логика подсказывает, что отладочная информация нужна в дебагере, а не в exe. А с учётом того, что дебагер находится внутри IDE - логично держать эти 8мб в ОЗУ IDE.
← →
vuk © (2014-01-22 19:21) [359]Attach to process
← →
Ega23 © (2014-01-22 19:32) [360]
> Логика подсказывает, что отладочная информация нужна в дебагере,
> а не в exe. А с учётом того, что дебагер находится внутри
> IDE - логично держать эти 8мб в ОЗУ IDE.
Логика подсказывает, что процесс тестирования приложения включает в себя далеко не только запуски под отладчиком. Запуск под отладчиком - это поиск бага. Но сначала надо знать, что этот баг - есть.
Страницы: 1 2 3 4 5 6 7 8 9
10 вся ветка
Текущий архив: 2014.08.17;
Скачать: CL | DM;
Память: 1.06 MB
Время: 0.058 c