Обновить
37
0.1
Павел Ишенин @PaulIsh

Пользователь

Отправить сообщение
Как эта корова 7 месяцев там будет кормиться и поиться в условиях отсутствия гравитации? Есть большой шанс получить давно протухшую коров.
Интересно, они сохранят свой компилятор под win 32/64 или полностью откажутся от него в пользу LLVM?
На основной работе D7 для старых проектов и D2007 для менее старых. Есть и XE, но перевод на unicode старых проектов не сделан, да и зачем делать там где он не нужен вообще? Большинство же новых проектов уже под web — там без Delphi.

На дополнительной работе занимаюсь разработкой компонент и там D7 — обязательно. Будешь делать в версии старше — формы замучишься корректировать под младшие версии. Да и код написаный на D7 всегда работает до D2007 (и, за редким исключением, в 2009-XE2).
Постараемся к версии 1.2 эту проблему решить.
В Lazarus есть очень продвинутый Anchor editor, но в данном случае даже он не поможет, так как на форму втсавляются фреймы, которые создаются по мере необходимости — выбрали узел в дереве — если фрейм был создан, то показываем, иначе создаем и показываем. Т.е. заранее без создания всех фреймов минимальную ширину не узнать, а увеличивать размер формы во время работы — не очень красиво :)
Если вы сейчас говорите про класс вцелом, то конечно неиспользуемые классы выкидываются в FPC.

Если вы говорите про исключение метода класса, то я вас не понимаю.

В любом случае, вы можете попробовать реализовать свои идеи на кодовой базе  FPC и если они окажутся удачными, они обязательно будут включены в проект.
Увы, научить этот диалог подбирать ширину стандартными средствами невозможно. Прийдется вам его первый раз расширить. По поводу меню не на родном месте — да проблема известная и она присутствует в списке ошибок, но ее решение требует расширения свойств  TMenu и TMenuItem. При работе над cocoa бэкэндом обязательно будет решено.
Вы несколько упрощаете ситуацию. Можно ведь без хранения ссылки на ксласс вызывать его методы (хоть методы класса, хоть методы экземпляра) вроде: SomeVar := TSomeClass.GetSomeValue. Так что всеже все несколько сложнее.
Обращение к RTTI идет же через строки. Можно выкидывать методы, для которых  RTTI не формируется. Но вообще оптимизация — не моя тема (в FPC этим в разное время занимались Florian Klämpfl, Jonas Maebe и Сергей Горелкин), и я сходу не готов придумывать что и как можно оптимизировать.
Безусловно есть.
Так делать нельзя, так как возможен вызов методов и обращение к свойствам через RTTI.
Если у вас есть идея лучше как бы мог этот делать компилятор, то скажите — вдруг она будет проще в реализации :)
Так вот же вам для процессоров intel: lazarus-1.0-20120828-i386-macosx.dmg
Вполне возможно провести такую оптимизацию: проверяем используется ли класс где-либо кроме блоков if SomeClassInstance is TSomeClass и если нет, то заменяем блок на if False с последующим выкидыванием. Но проблема с IS это лишь пример — в коде LCL бэкэндов можно найти и другие варианты использования классов LCL фронтэнда, которые также не дают выкинуть их из пустого приложения с формой.
Увы, такая беда есть с отчетами помеченными как «resolved». Вообще mantis давно пора обновить, но он у нас содержит собственные изменения, которые сильно быстро не перенесешь.
Главное чтобы из вашего отчета об ошибке было понятно как и на чем ее воспроизводиь. А на счет указанных полей — ими практически никто не пользуется, так как все обычно в тексте указывают свою платформу, операционную систему и прочее.
Написал же что речь про Delphi 7
В Lazarus оно открывает окно поиска компонентов. Lazarus не пытается на 100% повторить среду Delphi.
Вот подобное окно в Delphi 7: image

Оно не работает так как вы хотели бы.
Проверьте — внизу должно быть поле для добавления комментария.

Информация

В рейтинге
3 719-й
Откуда
Красноярск, Красноярский край, Россия
Зарегистрирован
Активность