Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64.
При импортировании проекта через меню "Tools \ Delphi conversion \ Convert Delphi Project to Lazarus Project" Лазарус мне закоментил кучу кода, И значительную часть проблем вызывают вот такие комменты:
{uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;}
На сколько я понимаю fpcupdeluxe видимо адаптирован для того чтобы при импорте проекта с Делфи убрать или испортить все что не мультиплатформенное. Но как лучше поступить в данном случае?
Понятно что если поубирать префиксы "winapi." как у "winapi. Windows" то все заведется. Но если я правильно понимаю, потом при адаптации под Линукс придется это переписывать на другие Юниты и компоненты. Как лучше поступить чтобы уменьшить количество проблем связанных с переписыванием кода? Хочу как можно быстрее добраться до того момента как смогу хотябы наконец запустить свое приложение чтобы проверить на сколько сильно оно сломалось вообще.
можно попробовать вместо windows добавить эти модули: LCLType, LCLIntf. по крайней мере часть проблем это разрешит
Все зависит, какие функции ты используешь. Например, куча "дельфевых" апишных функций и констант убраны в кроссплатформенный LCLInfl, поэтому проще использовать его, если твой код потенциально кроссплатформенный. Если код только под Винду, попробуй вместо с windows использовать JwaWinUser и . т.д
Префиксы winapi и т.п. не поддерживаются в stable версии. Но вы можете попробовать транковую версию. Она тоже ставится из делюкса. Но с вероятностью 90℅ Лазарус или fpc не поставится. Нужно знать номер хэша работоспособного коммита. Если что, могу поискать. Я тоже подобную задачу решаю. Проект около 0,5 млн. строк плюс куча компонентов сторонних. Компоненты давно старался подбирать так, чтобы в Лазарусе были доступны. Поэтому проблем особых с ними нет. Встроенный конвертер ничего сделать не смог, пришлось свой велосипед делать. Я использую stable версию, но у меня нет проблем с префиксом winapi, т.к. я работаю в D2007. И проблем с юникодом у меня почти никаких нет, только по мелочи.
Спасибо за предложение! Но я пока решил вручную все перетаскивать. Посмотрю как пойдет. У меня ожидаются проблемы с ДрагЭндДроп виртуальных файлов из программы в наружу (вот это жаль будет потерять) и Вероятны проблемы при обращении с файловой системой (в части длинных путей к файлам, их имен и проблем с Юникодами всякими) и еще вероятно будут проблемы с базой (простая таблица), так как в Делфи я FireDac использовал (ну я надеюсь проблемы будут преодолимые) и вероятно еще с системой лицензирования приколы какие-то будут. А потом узнаю что с системой обновления. В общем пока буду так переносить (ну всм уже начал). В вашем случае конечно другого выбора наверное нет.
А в чем смысл перехода?
Планирую сперва под виндой все завести, а потом делать версии под другие платформы (Астра, Мак)
Fmx не рассматривался?
Обсуждают сегодня