Информация об изменениях

Сообщение Re: Переход на Lazarus от 25.08.2023 10:35

Изменено 25.08.2023 10:39 PeterOne

Re: Переход на Lazarus
Здравствуйте, sfsoft, Вы писали:

S>Я знаю, что некоторые здесь используют Лазаря в разработке (тот же Чёрный Властелин). Расскажите, как у вас это получается? Уже месяц потрачен на эту поделку, там вообще нифига не работает. Какие-то рандомные ошибки постоянно валятся, FPC через раз компилирует проект. Может просто перестать это делать с сообщениями типа "Error: Undefined symbol: .Lj3850". Причем решение проблем вообще не гуглится...


S>Может я что-то делаю не так? Подскажите, пожалуйста, знающие люди.


Я окончательно перешел с Delphi на Lazarus/FPC почти 4 года назад. И совершенно счастлив. Проект большой, старый, портировал его долго (не спеша). Два года назад доделал Mac версию (по сути код почти весь общий, кроме особенностей Mac версии).

Продукт работает стабильно у клиентов, ошибок больше не стало, скорее меньше багов. Но это может следствие большего опыта разработки.

Насчет Вашей ошибки. Не сталкивался. Попробуйте поискать, например здесь:
https://forum.lazarus.freepascal.org/index.php?topic=59581.0

Современные фичи Delphi не использую, просто не нужны (дженерики, атрибуты, расширенный RTTI и прочее).
Давно придерживаюсь принципа — чем проще, тем надежнее код.

Важный момент. В Lazarus/FPC ограничьте уровень оптимизации кода на O2, где-то в настройках проекта задается.

Еще очевидный момент, ставьте в модулях режим для наилучшей совместимости со старым Delphi кодом:
{$ifdef fpc}{$mode delphi}{$endif}
Re: Переход на Lazarus
Здравствуйте, sfsoft, Вы писали:

S>Я знаю, что некоторые здесь используют Лазаря в разработке (тот же Чёрный Властелин). Расскажите, как у вас это получается? Уже месяц потрачен на эту поделку, там вообще нифига не работает. Какие-то рандомные ошибки постоянно валятся, FPC через раз компилирует проект. Может просто перестать это делать с сообщениями типа "Error: Undefined symbol: .Lj3850". Причем решение проблем вообще не гуглится...


S>Может я что-то делаю не так? Подскажите, пожалуйста, знающие люди.


Я окончательно перешел с Delphi на Lazarus/FPC почти 4 года назад. И совершенно счастлив. Проект большой, старый, портировал его долго (не спеша). Два года назад доделал Mac версию (по сути код почти весь общий, кроме особенностей Mac версии).

Продукт работает стабильно у клиентов, ошибок больше не стало, скорее меньше багов. Но это может следствие большего опыта разработки.

Насчет Вашей ошибки. Не сталкивался. Попробуйте поискать, например здесь:
https://forum.lazarus.freepascal.org/index.php?topic=59581.0

Современные фичи Delphi не использую, просто не нужны (дженерики, атрибуты, расширенный RTTI и прочее).
Давно придерживаюсь принципа — чем проще, тем надежнее код.

Важный момент. В Lazarus/FPC ограничьте уровень оптимизации кода на O2, где-то в настройках проекта задается.

Еще очевидный момент, ставьте в модулях режим для наилучшей совместимости со старым Delphi кодом:
{$ifdef fpc}{$mode delphi}{$endif}

Да, у Лазаруса есть недоработки, недостатки, но их постепенно исправляют. Продукт тем более бесплатный. Хорошее сообщество, где вам помогают с ответами на их форуме.
От Delphi принял решение отказаться, когда увидел куда идет разработка — Firemonkey формы. Еще в 2014-2015 году протестировал работу контролов на Firemonkey — одни сплошные визуальные глюки и баги с отрисовкой интерфейса даже простейшего приложения. Проверил через 2 года — проблемы так и не исправили. Поэтому решил переползать на Лазарус. Время показало, что решение было правильным.