Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » трибуна Уткина » Визарды в Lazarus и что они генерируют


Визарды в Lazarus и что они генерируют

Сообщений 1 страница 6 из 6

1

[html]
<div class="quote-box"><cite>utkin <a href="http://plana.mybb.ru/viewtopic.php?id=430#p1150">скастовал заклинание</a>:</cite>
<blockquote>
<p>Я сильно переживаю и подозреваю по факту того, что вот эти файлики:</p>
<div class="quote-box"><blockquote><p>valentina3/core/project1.lps
<br />valentina3/core/project1.ctpr
<br />valentina3/core/project1.ppr
</blockquote></div>

<p>Могут быть фишкой Тайфуна, и в Лазарусе не просто называться по-другому, а в принципе иметь другой формат.
<br /><font color="darkgreen"><strong>Создай</strong></font> в лазарусе пустую программу -
<br /><font color="darkgreen"><strong>Создай</strong></font> проект приложения и
<br /><font color="darkgreen"><strong>запусти</strong></font> его на компиляцию.
<br /><font color="darkgreen"><strong>Идешь</strong></font> в каталог и
<br /><font color="darkgreen"><strong>смотришь</strong></font> какие файлы нарисуются.
</blockquote></div>

Для начала Lazarus IDE нужно запустить. В KDE открываем меню запуска, набираем несколько букв ("laza"), в появившийся ярлык тыкаем мышью:
<br />
<br />
<img src="http://web.archive.org/web/20171107204027im_/http://sf.uploads.ru/d/I745s.png" />
<br />
<br />
Сохраняем проект на диск.
<br />
<br />
Что видим?
<br />
$ find . -type f
<br />
./unit1.lfm
<br />
./project1.ico
<br />
./project1.res
<br />
./backup/project1.lps.bak
<br />
./backup/project1.lpi.bak
<br />
./unit1.pas
<br />
./project1.lps
<br />
./project1.lpi
<br />
./project1.lpr
<br />
<br />
По крайней мере файл с расширением .lps есть дважды - у Уткина и у лазаруса.
<br />
Что у него внутри? Некий XML (с узлами второго уровня ProjectOptions, CompilerOptions, Debugging)
<br />
<br />
Какие файлы умеет открывать Lazarus?
<br />
<br />
<img src="http://web.archive.org/web/20171107204027im_/http://s7.uploads.ru/d/sMYag.png" />
<br />
<br />
.lps-файлы не умеет.
<br />
<br />
Что порекомендовать Уткину? Создать репозиторий на bitbucket (там есть и публичные и закрытые репозитории), как это сделал budden,
и тогда получится сделать ему pull request с предложением варианта файлов проекта Lazarus.
[/html]
Однако это не поможет, потому что у них разные расширения файлов форм:

utkin написал(а):

valentina3/core/unit1.frm - собственно главное окошко

нету в списке .frm

Когда будет пакет CodeTyphon в моём любимом дистрибутиве, тогда и поговорим.

Отредактировано Лис (2017-11-07 23:53:13)

0

2

Значит нужно сопоставить lpr и lpi файлам ppr и ctpr :). Внутри то все равно все скармливается fpc, значит должно быть где-то преобразование к одному знаменателю. Будем надеятся, что это просто понты и переименованные расширения. Я так понимаю Тайфун хочет независимости (это форк Лазаруса).

нету в списке .frm

Но есть lfm надо сравнить. Это параметры для отображения окон на экране (типа высота, ширина и пр.), без них не взлетит. Юниты содержат бизнес-логику, поведение окон, а эти файлы говорят о том, как все должно показываться на экране.

Когда будет пакет CodeTyphon в моём любимом дистрибутиве, тогда и поговорим.

У них другой путь развития, поэтому такой момент может вообще не наступить никогда.

Отредактировано utkin (2017-11-08 07:15:08)

0

3

utkin написал(а):

Значит нужно сопоставить lpr и lpi файлам ppr и ctpr :)


cd  ~/valentina3/core
mv unit1.frm unit1.lfm
mv unit2.frm unit2.lfm
mv project1.ctpr project1.lpi

загружаем
[html]<img src="http://s4.uploads.ru/d/kfX7Q.png" />
<br />
<img src="http://s6.uploads.ru/d/5Cjwm.png" />[/html]

заменяем adLCL на LCL
[html]
<a href="https://forum.lazarus.freepascal.org/index.php?topic=10122.0">https://forum.lazarus.freepascal.org/index.php?topic=10122.0</a>
<br />
<a href="http://wiki.lazarus.freepascal.org/Lazarus_Faq#When_I_compile_a_project.2C_that_uses_a_LCL_unit.2C_I_get_a_linker_error">http://wiki.lazarus.freepascal.org/Lazarus_Faq#When_I_compile_a_project.2C_that_uses_a_LCL_unit.2C_I_get_a_linker_error</a>
[/html]

компилируем, получаем
[html]<img src="http://s2.uploads.ru/d/QphK9.png" />[/html]

Отредактировано Лис (2017-11-10 03:43:20)

0

4

Значит проблема глубже. Тайфун имеет другие версии библиотек, которые не совместимы с Лазарусом. Мои соболезнования :) Ставьте Тайфун, а то попкорн уже заканчивается.

0

5

utkin написал(а):

Тайфун имеет другие версии библиотек, которые не совместимы с Лазарусом. Мои соболезнования :)


Это лапша на уши, я считаю. При чём тут библиотеки, если ошибка в имени переменной в тексте Вашей, Уткин, программы?

Хотя, возможно дальше там чего-то и нехватит...

Отредактировано Лис (2017-11-10 08:57:21)

0

6

Это лапша на уши, я считаю. При чём тут библиотеки, если ошибка в имени переменной в тексте Вашей, Уткин, программы?

Вы не видите? Он подчеркивает все переменные. Index это общеупотребительное имя переменной, также как i например.
Касательно именно этой точки, то да :). Я поправил это в следующей версии (Вы же теперь начнете требовать от меня еще регулярных обновлений), но других ошибок это не отменяет.

Отредактировано utkin (2017-11-10 10:23:46)

0


Вы здесь » Русскоязычное программирование » трибуна Уткина » Визарды в Lazarus и что они генерируют