IDE Lazarus - окна за пределами экрана
Модератор: Модераторы
IDE Lazarus - окна за пределами экрана
Смею озвучить проблему, которая "достаёт" меня уже довольно длительный срок. А именно - ставлю "новую" версию Лазаруса, убив все предыдущие настройки и каталоги, запускаю - и - фанфары - наблюдаю на рабочем столе гигантские окна, никоим образом не помещающиеся на экран.
Операционная система - Windows XP.
Если что, - да, ноутбук. 1024x768. Если кто не знает, есть еще экранчики 1024x600.
И, если инспектор объектов и редактор исходного кода можно мышью привести в приемлемые габариты, то окно "сообщения" своим заголовком оказывается аж в позиции 960 пикселов, считая от верху. Не исключаю, что там же может оказаться и еще какое-нибудь окно...
Что за безобразие то? Технически нет ничего сложного, чтобы получить от операционной системы размер стола и пересчитать при первом запуске размеры элементов оформления так, чтобы они входили на экран гарантированно. Нет же, тупо считаем, что монитора меньше чем 1280х1024 ни у кого не бывает, поэтому налепили форм с параметрами "DesignTime", да еще и с зазорами меж, и - всё так здорово. Я уж не буду упоминать даже о рассыпающемся на отдельные формы линуксовом интерфейсе - будем считать, что есть тому причины, и об отладчике, которого по блльшему счету можно сказать что и нет - этому точно есть причины, и о линуксовой реализации подсистемы печати, благодаря которой Лазарус лет десять не мог напечатать текст собственных программ с комментариями на русском языке - хвала автору унита, принципиально не понимающему, что кроме омериканских букв может существовать что то еще. Но ЭТО... Честно, уже забодало.
И особенно на этот пост меня сподвигло вымарывание из Параметров IDE вкладки, позволяющей эти самые размеры окон выставить, была там такая - как раз подходящая для окошек, чья позиция оказывалась за экраном. Теперь нету. Ревизия Лазаруса SVN 35557CT (CodeTyphon 2.50). Не исключаю, что сей прелести мы обязаны клонистам от PilotLogic, посему вопрос к сообществу - а у вас то как? Так же?
Не, я знаю, где поправить - делаем Сервис -> Save Layout To File и вручную в файле корректируем позиции и размеры, чтоб были в пределах экрана, потом соседним пунктом вгружаем обратно. Дык. Опять же, появились некие хреновины Docking/GlassDocking. Легкое движение мыши - и оп! - окно оказывается опять хрен знает где. Причем, пункт меню "Restore Default Layout" опять таки грузит даже не тот "Default layout", который можно записать в соответствующем пункте меню, а опять таки изначальную композицию design time, которая на экран не помещается.
Операционная система - Windows XP.
Если что, - да, ноутбук. 1024x768. Если кто не знает, есть еще экранчики 1024x600.
И, если инспектор объектов и редактор исходного кода можно мышью привести в приемлемые габариты, то окно "сообщения" своим заголовком оказывается аж в позиции 960 пикселов, считая от верху. Не исключаю, что там же может оказаться и еще какое-нибудь окно...
Что за безобразие то? Технически нет ничего сложного, чтобы получить от операционной системы размер стола и пересчитать при первом запуске размеры элементов оформления так, чтобы они входили на экран гарантированно. Нет же, тупо считаем, что монитора меньше чем 1280х1024 ни у кого не бывает, поэтому налепили форм с параметрами "DesignTime", да еще и с зазорами меж, и - всё так здорово. Я уж не буду упоминать даже о рассыпающемся на отдельные формы линуксовом интерфейсе - будем считать, что есть тому причины, и об отладчике, которого по блльшему счету можно сказать что и нет - этому точно есть причины, и о линуксовой реализации подсистемы печати, благодаря которой Лазарус лет десять не мог напечатать текст собственных программ с комментариями на русском языке - хвала автору унита, принципиально не понимающему, что кроме омериканских букв может существовать что то еще. Но ЭТО... Честно, уже забодало.
И особенно на этот пост меня сподвигло вымарывание из Параметров IDE вкладки, позволяющей эти самые размеры окон выставить, была там такая - как раз подходящая для окошек, чья позиция оказывалась за экраном. Теперь нету. Ревизия Лазаруса SVN 35557CT (CodeTyphon 2.50). Не исключаю, что сей прелести мы обязаны клонистам от PilotLogic, посему вопрос к сообществу - а у вас то как? Так же?
Не, я знаю, где поправить - делаем Сервис -> Save Layout To File и вручную в файле корректируем позиции и размеры, чтоб были в пределах экрана, потом соседним пунктом вгружаем обратно. Дык. Опять же, появились некие хреновины Docking/GlassDocking. Легкое движение мыши - и оп! - окно оказывается опять хрен знает где. Причем, пункт меню "Restore Default Layout" опять таки грузит даже не тот "Default layout", который можно записать в соответствующем пункте меню, а опять таки изначальную композицию design time, которая на экран не помещается.
SSerge
У меня на ноуте всё как в аптеке - окна все нормальные и умещаются на рабочем столе, никаких претензий. Беру с ftp.freepascal.org.
У меня на ноуте всё как в аптеке - окна все нормальные и умещаются на рабочем столе, никаких претензий. Беру с ftp.freepascal.org.
SSerge писал(а):Ревизия Лазаруса SVN 35557CT (CodeTyphon 2.50).
Использование сей сборки - это такой особый вид мазохизма? Судя по всему, они пихают в свои сборки сырые ещё Docking-расширения IDE. Если не хотите прикольных проблем, использовать следует версию 0.9.31 из SVN trunk Lazarus, а не сторонние сборки.
SSerge писал(а):Не, я знаю, где поправить - делаем Сервис -> Save Layout To File и вручную в файле корректируем позиции и размеры, чтоб были в пределах экрана, потом соседним пунктом вгружаем обратно. Дык. Опять же, появились некие хреновины Docking/GlassDocking. Легкое движение мыши - и оп! - окно оказывается опять хрен знает где. Причем, пункт меню "Restore Default Layout" опять таки грузит даже не тот "Default layout", который можно записать в соответствующем пункте меню, а опять таки изначальную композицию design time, которая на экран не помещается.
Вот с этого и надо было начинать, а не с пурги в четвёртом абзаце.
Максим писал(а):использовать следует версию 0.9.31 из SVN trunk Lazarus, а не сторонние сборки.
Тогда уж поясните, с чем ее использовать? По отдельным туманным изречениям можно судить, что с компилятором версии 2.6.0 эта версия до сих пор глючна по причине противоречия с реализацией уникода в компиляторе, а уж с 2.7.1 бажна по самое нехочу. 2.4.4? Как на официальном сайте?
Использование сей сборки - это такой особый вид мазохизма?
Нет, мне оттуда нужны несколько компонентов, коих нет в стандартном Lazaruse; ну и исторически эта "сборка" хотя бы инсталлируется коректно и обычно работает, в том числе достопамятный отладчик, и в линуксе нужные недостающие библиотеки подтягивает без необходимости долго думать, где и что бы еще выкачать, потому что не хватает чего то для сборки лазаруса.
Возвращаясь к основной теме, виновника нашел.
/codetyphon/bin/settings/{OS}/slazarus/environmentoptions.xml - вот в нем намертво заданы гигантские размеры окон и их расположение за экраном. Так что виноват по всякому собиратель дистрибутива - то есть PilotLogic.
Но. Куда делся установщик размера и позиции окон из IDE Settings?!!! Или это опять же фича исключительно CodeTyphon? У кого установлен лазарус из .svn, датированный позже 23.02.2012 - посмотрите и отпишитесь пожалуйста.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
неверно.с компилятором версии 2.6.0 эта версия до сих пор глючна
нечётное число в минорной версии должно о чем-то говорить. Причем не о Lazarus'e2.7.1
ревизия 35620М от 2012-02-29, все на месте.датированный позже 23.02.2012
Чудесны дела Твои, Г...! 
Захожу сюда: ftp://ftp.freepascal.org/pub/lazarus/snapshots/
вынимаю Lazarus-0.9.30.3-35620-fpc-2.6.0-20120229-win32.exe (ибо рекомендованного 0.9.30.2 + 2.6.0 в принципе нигде нету), устанавливаю радоссно тыкаю по кнопам и... при попытке компиляции им чего либо выдается ссылка на несуществующий unit. И что, все вот так ловят версии которые хоть как то работают, или есть другой более рациональный путь?
В релизах же лежит 0.9.30.2+2.4.4, у коего расположение функций по модулям украшено в официальной справке ремаркой obsolete.
А вообще, отдельно freepascal 2.6.0 отличается от того, который вкомпиливают в инсталлятор лазарусов?
Захожу сюда: ftp://ftp.freepascal.org/pub/lazarus/snapshots/
вынимаю Lazarus-0.9.30.3-35620-fpc-2.6.0-20120229-win32.exe (ибо рекомендованного 0.9.30.2 + 2.6.0 в принципе нигде нету), устанавливаю радоссно тыкаю по кнопам и... при попытке компиляции им чего либо выдается ссылка на несуществующий unit. И что, все вот так ловят версии которые хоть как то работают, или есть другой более рациональный путь?
В релизах же лежит 0.9.30.2+2.4.4, у коего расположение функций по модулям украшено в официальной справке ремаркой obsolete.
А вообще, отдельно freepascal 2.6.0 отличается от того, который вкомпиливают в инсталлятор лазарусов?
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
SSerge писал(а):А вообще, отдельно freepascal 2.6.0 отличается от того, который вкомпиливают в инсталлятор лазарусов?
Отличается. Лучше взять релизный компилятор и самому собрать нужную версию лазаруса
SSerge писал(а):Чудесны дела Твои, Г...! Захожу сюда: ftp://ftp.freepascal.org/pub/lazarus/snapshots/вынимаю Lazarus-0.9.30.3-35620-fpc-2.6.0-20120229-win32.exe (ибо рекомендованного 0.9.30.2 + 2.6.0 в принципе нигде нету), устанавливаю радоссно тыкаю по кнопам и... при попытке компиляции им чего либо выдается ссылка на несуществующий unit.
Там куда-то пропал fpc.cfg.
SSerge писал(а):Тогда уж поясните, с чем ее использовать? По отдельным туманным изречениям можно судить, что с компилятором версии 2.6.0 эта версия до сих пор глючна по причине противоречия с реализацией уникода в компиляторе, а уж с 2.7.1 бажна по самое нехочу.
Я не понимаю, откуда вы взяли эту информацию. Это полная ересь. Например, в FPC версии 2.6.0 нет юникода, и т.д., и т.п.
Lazarus 0.9.30.2 лучше всего использовать с FPC 2.4.4.
Lazarus 0.9.30.3 лучше всего использовать с FPC 2.6.x (но, думаю, FPC 2.4.4 тоже будет работать нормально).
Lazarus 0.9.31 лучше всего использовать с FPC 2.6.x, но можно и с FPC 2.7.1. При использовании последнего всё, по идее, должно работать пристойно, но глюки, конечно же, возможны. С ними - в багтрекер.
SSerge писал(а):В релизах же лежит 0.9.30.2+2.4.4, у коего расположение функций по модулям украшено в официальной справке ремаркой obsolete.
Ничего не понял. Поясните?
iskander писал(а):Там куда-то пропал fpc.cfg.
Отпишите в багтрекер, пожалуйста.
Максим писал(а):Ничего не понял. Поясните?
Я имею в виду вот это:
http://lazarus-ccr.sourceforge.net/docs ... dex-5.html
Код: Выделить всё
...
UTF8LowerCase Deprecated, see #LazUtils.LazUTF8 for replacements.
UTF8Pos Deprecated, see #LazUtils.LazUTF8 for replacements.
UTF8ToDoubleByte Deprecated, see #LazUtils.LazUTF8 for replacements.
...
c учетом того, что unit LazUTF8 в 0.9.30.2 отсутствует вообще, наводит на мысли о странностях.
К тому же, deprecated, насколько я понимаю термин, подразумевает, что "этим не надо пользоваться, потому что уберут", а не то, что функцию переместили.
И, очень хотелось бы прояснить вопрос по поводу дальнейшего развития этой самой "поддержки unicode" в lazarus/freepascal.
Что будет в итоге? Модель Embarcadero Delphi 2009/XE2, где string=UnicodeString (UCS16), и соответственно всякие перлы типа if (char c in ['a'...'z']) смысла не имеют + якобы "прозрачное" преобразование + полная неявная зависимость от того, как программа определила свое окружение (текущую локаль) или дальнейшее развитие ныне действующего подхода? В fp 2.7.1 модуль c UnicodeStrings уже появился, правда там все типы заремлены на режим {$mode Delphi}. Что дальше? Насколько долго вообще останутся функции прямой работы с UTF и явной конверсии в cp1251, koi8 (unit lconvencoding)?
SSerge писал(а):К тому же, deprecated, насколько я понимаю термин, подразумевает, что "этим не надо пользоваться, потому что уберут", а не то, что функцию переместили.
Обычно подразумевает, да, но в данном случае таких планов нет.
SSerge писал(а):И, очень хотелось бы прояснить вопрос по поводу дальнейшего развития этой самой "поддержки unicode" в lazarus/freepascal.
Насколько я знаю, по FPC окончательных решений ещё не принималось. Следовательно, по будущему юникода в Lazarus вопрос тоже пока открыт.
