169 похожих чатов

Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под

Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и MacOS) и я решил что пора его переделать под Lazarus, чтобы позже уже адаптировать под другие операционные системы кроме винды.
На данный момент в приложении используется FireDac для работы с простой таблицей и модуль System.Zip для работы с архивами, а так же модули для работы с сетью IdFTPCommon, IdFTP, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdBaseComponent, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL,
IdHTTP,
Подскажите какую версию Lazarus мне лучше устанавливать из тех что предложены на официальном сайте:
Windows (32 and 64 Bits) Direct download
Windows (32 Bits) Add ons
Windows (64 Bits)
Windows (64 Bits) Add ons
Мне желательно достигнуть максимальной совместимости с кодом который я уже написал.
Если я правильно понимаю, то мне лучше смотреть на версии Add ons.
И наверное на 64 Bits (хотя мне хотелось бы чтобы программа работала и на 32 битных версиях Винды, но подозреваю что что-то из того что уже написано может не заработать на 32 битной версии Лазаря, а хотелось бы решать проблемы с переносом на Лазарь поэтапно, и получить работающую программу как можно раньше, а потом когда уже немного освоюсь решать проблемы с 32 битами которые как я предполагаю имеются).
Возможно вопросы супер-тупые, но я пока не имел опыта работы ни с Lazarus ни с другими ОС кроме Винды.
Так какую версию лучше ставить в описанной мной ситуации? Windows (64 Bits) Add ons?
Какие могут быть подводные камни?

24 ответов

59 просмотров

Мои советы такие: Stable 64 бит с кроссплатформенностью, настроенной через fpcupdeluxe. https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases С него и советую устанавливать, тем более кроссплатформенность потребуется почти сразу. ТАкже из 64 битной IDE будешь собирать и 32 битные. Можно установить и 32 битное IDE и там собирать 64 бита. Больше зависит от качества написанного кода в Delphi, как часто там используются различные хаки и низкоуровневые вещи, как много сторонних компонентов. Обычно, конечно код в Delpho пишется так, что как по маслу точно не пройдет. Будь готов, что от некоторх либ возможно придется отказаться и кое-что переписать.

Дмитрий-Завгородний Автор вопроса
Renat Suleymanov
Мои советы такие: Stable 64 бит с кроссплатформенн...

Те что на офф сайте не качать и не ставить?

Дмитрий Завгородний
Те что на офф сайте не качать и не ставить?

Ну если нужна кроссплатформенность, то лучше изначально заюзать этот инсталлятор. Он просто все правильно настроит. Помогает устанавливать несколько версий в систему. С ним удобно устанавливать Lazarus и в другие ОС и если тебе это потребуется, то уже будет знакомый интерфейс.. Он собственно эти версии и будет устанавливать только дополнительно поможет настроить сразу кроссплатформенность. Те что на сайте они на автомате не включают кроссплатформенность. Хотя она может тебе и не нужна? Многие тут кодеры на каждую целевую ОСь ставят Lazarus и собирают на каждой целевой. Варианты могут быть разными. Я собираю все на одной ОСи

Renat Suleymanov
Ну если нужна кроссплатформенность, то лучше изнач...

Тут некоторые не любят fpcupdeluxe и выступают за ручную настройку всего и вся. Я же покаываю как проще: заюзай fpcupdeluxe )

Дмитрий-Завгородний Автор вопроса
Renat Suleymanov
Ну если нужна кроссплатформенность, то лучше изнач...

Ну так как у меня опыта НОЛЬ, то я думал под каждой осью ставить Лазарус и тестировать соответственно. Ну не под одной осью все версии билдить. Я просто не опытный в этом плане и мне надо что-то у чего порог входа пониже. А компы со всеми осями целевыми есть. К тому же программа у меня будет не одна - это комплекс с серверной частью, агентами и Клиентской чатсью и надо чтобы все под всеми осями работало. Так что я думаю билдить все чисто под одной осью мне наверное слишком сложно будет (ну наверное я слишком глупый для этого, или просто нет пока понимания как это может быть)

Дмитрий Завгородний
Ну так как у меня опыта НОЛЬ, то я думал под каждо...

В Лазарусе кросскомпиляция делается очень просто: переключаешь в настройках проекта целевую платформу и ОСь. Ну или даже вынести это в режимы компиляции. Но можно и как ты предлагаешь. Да, для начала импортируй в Lazarus и пусть это заработает в одной ОС, потом отрефакторишь, чтобы работало на всех

Дмитрий-Завгородний Автор вопроса
Renat Suleymanov
В Лазарусе кросскомпиляция делается очень просто: ...

В общем лучше как я понимаю пока поставить дефолтный вариант под винду 64 Windows (64 Bits) Add ons? А потом как освоюсь попробовать кроссплатформенную систему?

Стикер

С MacOS лучше не связываться. Мало кто из разработчиков компонентов на нём что-то проверяет. Если проект разбит на EXE и DLL/BPL, то лучше рассмотреть возможность всё вкомпилить в EXE-файл, иначе столкнётесь с огромной грудой геммороя. Насчёт Stable-версии - у неё хорошая совместимость с Delphi 2007. И строки такие же 1-байтные, поэтому проблем почти нет. Насчёт Tokyo наверно сложнее будет. Компоненты Indy для Лазаруса имеются. Много чего есть. Но FireDac нет. Читайте статью от Константина Тимофеева (на гит-хабе) по портированию приложения в Лазарус. Перед портированием сперва максимально доработайте его в Delphi, чтобы избавиться от компонентов, которые недоступны в Лазарусе.

Дмитрий Завгородний
В общем лучше как я понимаю пока поставить дефолтн...

Слона едят по частям. Да, можно и дефолтны вариант с сайта. Хотя fpcupdeluxe несложный инсталлятор в целом. Можно и с ним сразу. Он будет собирать IDE и FPC из исходников и добавлять нужные бинарники для кросскомпиляции и делать конфиги правильные

zamtmn
что значит »Add ons ты похоже гдето слева качаешь

Не там реально так на сайте написано. Сейчас проверил ) Давно не качал дистриба с офф. сайта )

Попробуйте кстати код-тайфун использовать, возможно в нём конвертер приложений работоспособный. В Лазарусе конвертер абсолютно беспомощный, даже пробовать смысла нет, только время тратить.

Дмитрий Логинов
Попробуйте кстати код-тайфун использовать, возможн...

А я бы не рекомендовал ТАйфун. Не нужно приучать к нему с нуля. Потом отучаться придется

Renat Suleymanov
А я бы не рекомендовал ТАйфун. Не нужно приучать к...

Я не то чтобы рекомендую (сам не пользуют). Но попробовать можно. Вдруг там всё автоматом делается :)

Дмитрий Логинов
Я не то чтобы рекомендую (сам не пользуют). Но поп...

Там еще потом либы нужно будет все конвертить, чтобы они в ТАйфуне работали. Есть у них конечно конвертор, но уже эта дополнительная конверсия вызывает сомнения большие

Дмитрий-Завгородний Автор вопроса
Renat Suleymanov
Слона едят по частям. Да, можно и дефолтны вариант...

Простите за тупой вопрос, но я не понимаю - тут надо все качать?

Дмитрий-Завгородний Автор вопроса

Ну у меня три ноута. Два на х86 с парой ссд (и ОС) каждый и ну и Мак на М1

Дмитрий-Завгородний Автор вопроса

Ну 32 правда действительно нет. Вы правы - не со всеми осями. Просто на одном ноуте 11 на другом 10 винда (столкнулся с тем что в 11 некоторые вещи не так работают как в 10)

Дмитрий-Завгородний Автор вопроса
🥓 Хамон Эврибади
почему не виртуальные машины (кроме мака)?

Ну просто они уже есть , но виртуалки тоже по необходимости юзаю

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта