Здравствуйте, sfsoft, Вы писали:
S>Я знаю, что некоторые здесь используют Лазаря в разработке (тот же Чёрный Властелин).
S>Может я что-то делаю не так? Подскажите, пожалуйста, знающие люди.
К тому что уже написали, возможно, дело в том что в официальной поставке лазаруса идет довольно старый компилятор V3.2.2 в котором немало багов исправленныx в 3.2.3. И также в оптимизациях выше /O2 есть баги, используйте /O2 или /O1.
Лучше использровать
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases и кроссплатформу собирать прямо там. Как это делаю я:
1) Качаем fpcupdeluxe-i386-win32.exe, именно 32-битную версию, тк есть какие-то заморочки кросс-сборкой с 64-бит версией связаные с softfloat.
2) Ставим FPC FIXES 3.2 и LAZARUS TRUNK (скоро выйдет LAZARUS 3.0 и появится FIXES 3.0)
3) Он скомпилирует Лазарус для 32-бит и 64-бит Windows.
4) Идем на закладку Cross и доустанавливаем x86_64/linux, aarch64/linux, x86_64/darwin, aarch64/darwin.
5) Он соберет кросс-компиляторы для этих платформ.
6) Доустанавливаем пакеты с закладки Modules, в частости я ставлю virtualtreeview и bgrabitmap, это добавит кросс-платформенное дерево-список и работу с графикой с альфой и всякими крутыми штуками для рисования.
Ну и собсно все. При переносе с Delphi, сначала добиваемся работоспособности под виндой, добавляем {$MODE DELPHI}, фиксим баги. Затем добавляем нужные платформы и IFDEF-ы и можем прямо с нашей виндовой машины собирать под все платформы.
Если используете линух, все тоже самое, только качаем линуксовую версию, а в Cross ставим i386/windows и x86_64/windows.