IDE Lazarus - окна за пределами экрана

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

IDE Lazarus - окна за пределами экрана

Сообщение SSerge » 28.02.2012 11:33:03

Смею озвучить проблему, которая "достаёт" меня уже довольно длительный срок. А именно - ставлю "новую" версию Лазаруса, убив все предыдущие настройки и каталоги, запускаю - и - фанфары - наблюдаю на рабочем столе гигантские окна, никоим образом не помещающиеся на экран.

Операционная система - 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
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: IDE Lazarus - окна за пределами экрана

Сообщение Vadim » 28.02.2012 18:46:41

SSerge
У меня на ноуте всё как в аптеке - окна все нормальные и умещаются на рабочем столе, никаких претензий. Беру с ftp.freepascal.org.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: IDE Lazarus - окна за пределами экрана

Сообщение alexs » 28.02.2012 20:04:35

SSerge
Симптомы похожи, если будет установлена не стандартная (кривая) тема в ГУИ. В винде с этим особенно грустно.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: IDE Lazarus - окна за пределами экрана

Сообщение Максим » 29.02.2012 01:51:24

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, которая на экран не помещается.

Вот с этого и надо было начинать, а не с пурги в четвёртом абзаце.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: IDE Lazarus - окна за пределами экрана

Сообщение SSerge » 29.02.2012 09:20:56

Максим писал(а):использовать следует версию 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 - посмотрите и отпишитесь пожалуйста.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: IDE Lazarus - окна за пределами экрана

Сообщение Brainenjii » 29.02.2012 09:33:51

с компилятором версии 2.6.0 эта версия до сих пор глючна
неверно.
2.7.1
нечётное число в минорной версии должно о чем-то говорить. Причем не о Lazarus'e
датированный позже 23.02.2012
ревизия 35620М от 2012-02-29, все на месте.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: IDE Lazarus - окна за пределами экрана

Сообщение SSerge » 29.02.2012 14:39:09

Чудесны дела Твои, Г...! :)
Захожу сюда: 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. И что, все вот так ловят версии которые хоть как то работают, или есть другой более рациональный путь? :shock:

В релизах же лежит 0.9.30.2+2.4.4, у коего расположение функций по модулям украшено в официальной справке ремаркой obsolete.

А вообще, отдельно freepascal 2.6.0 отличается от того, который вкомпиливают в инсталлятор лазарусов?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: IDE Lazarus - окна за пределами экрана

Сообщение Padre_Mortius » 29.02.2012 16:34:32

SSerge писал(а):А вообще, отдельно freepascal 2.6.0 отличается от того, который вкомпиливают в инсталлятор лазарусов?

Отличается. Лучше взять релизный компилятор и самому собрать нужную версию лазаруса
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: IDE Lazarus - окна за пределами экрана

Сообщение iskander » 29.02.2012 18:03:15

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. :)
iskander
энтузиаст
 
Сообщения: 623
Зарегистрирован: 08.01.2012 18:43:34

Re: IDE Lazarus - окна за пределами экрана

Сообщение Максим » 01.03.2012 01:46:06

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. :)

Отпишите в багтрекер, пожалуйста.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: IDE Lazarus - окна за пределами экрана

Сообщение SSerge » 01.03.2012 08:24:45

Максим писал(а):Ничего не понял. Поясните?

Я имею в виду вот это:

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
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: IDE Lazarus - окна за пределами экрана

Сообщение GAMER » 01.03.2012 12:46:57

По крайней мере в свн версии есть unit LazUTF8.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: IDE Lazarus - окна за пределами экрана

Сообщение Максим » 02.03.2012 04:22:49

SSerge писал(а):К тому же, deprecated, насколько я понимаю термин, подразумевает, что "этим не надо пользоваться, потому что уберут", а не то, что функцию переместили.

Обычно подразумевает, да, но в данном случае таких планов нет. :mrgreen: Это документация чуть убежала вперёд, не парьтесь.

SSerge писал(а):И, очень хотелось бы прояснить вопрос по поводу дальнейшего развития этой самой "поддержки unicode" в lazarus/freepascal.

Насколько я знаю, по FPC окончательных решений ещё не принималось. Следовательно, по будущему юникода в Lazarus вопрос тоже пока открыт.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 236

Рейтинг@Mail.ru