Re[4]: Старую шаревару с дельфы на Lazarus
От: rkcsoft Россия  
Дата: 13.04.19 12:12
Оценка:
Здравствуйте, rean, Вы писали:

R>Когда сидел на дельфе, считал, что с Борланд/Inprise/Emba придется терпеть, с глюками IDE терпеть, с неюникодом терпеть, с не 64 бит терпеть,

R>с виндой терпеть, с необходимостью дописывать хидеры Win32 терпеть, с многословностью паскаля терпеть, с ограничениями VCL терпеть.
R>Вечное программирование в стиле «терпеть».

Глюки IDE есть. Но не критичные. Во всяком случае по сравнению с D2009 огромный прогресс. Юникод есть, работает нормально. 64 бита есть.
Винда вообще непонятно каким боком здесь.
Хидеры Win32 уже кучу лет не дописывал. Тем более если винда-боль, то зачем еще глубже в неё залезать?

Многословность Паскаля — это про begin/end? Какие-то священные войны.

А что, кстати, за ограничения в VCL?
Re[4]: Старую шаревару с дельфы на Lazarus
От: rudzuk  
Дата: 13.04.19 12:31
Оценка:
Здравствуйте, drVanо, Вы писали:

V> Не у знакомого, а у крупной компании, в которой он работает. Да, на билдере.


То есть, к Delphi это отношения не имеет. Можешь посоветовать знакомому, вдруг поможет.
avalon/2.0.6
Re[5]: Старую шаревару с дельфы на Lazarus
От: rean  
Дата: 13.04.19 12:42
Оценка:
deleted
Отредактировано 22.04.2019 8:39 deleted2 . Предыдущая версия . Еще …
Отредактировано 22.04.2019 8:23 deleted2 . Предыдущая версия .
Отредактировано 22.04.2019 7:38 deleted2 . Предыдущая версия .
Re[4]: Старую шаревару с дельфы на Lazarus
От: drVanо Россия https://vmpsoft.com
Дата: 13.04.19 12:51
Оценка:
Здравствуйте, rkcsoft, Вы писали:

R>Он (drVano) перешёл на qt с Delphi и теперь при каждом удобном случае набрасывает на вентилятор.


Я не набрасываю, я прямым текстом говорю, что Delphi уже давно мертв. "Спецы" из эмбаркадеры уже не могут тянуть даже собственный компилятор и массово переходят на LLVM.

R>Но не понимает, что не у всех в приложениях 5 форм, как у него. Ну и визуальная часть у него не главное.


При чем тут 5 или 100 форм? Я например как разработчик хочу кросплатформенности с минимальныим услиями. Delphi/BCB может это предложить? Нет и походу уже никогда не предложит.
Re[6]: Старую шаревару с дельфы на Lazarus
От: rkcsoft Россия  
Дата: 13.04.19 12:52
Оценка:
Здравствуйте, rean, Вы писали:

R>Эти споры — путь в никуда. Вы не сможете заставить меня любить то, от чего я мучаюсь.


Да я и не спорю. Я удивлен желанию переписать работающий софт на другом языке программирования.
Хотя я же не знаю всех вводных. Может там исходников всего 100 килобайт...

Новый проект я бы на Delphi сейчас, скорее всего, не начал (хотя зависит от проекта). Но переписывать старый не стал бы 100%, если бы это не сулило огромных финансовых выгод.
Re[5]: Старую шаревару с дельфы на Lazarus
От: rkcsoft Россия  
Дата: 13.04.19 12:58
Оценка:
Здравствуйте, drVanо, Вы писали:

V>Я не набрасываю, я прямым текстом говорю, что Delphi уже давно мертв.


Есть и другая точка зрения. То, что она тебе не близка, не говорит о ее неверности.

V>При чем тут 5 или 100 форм?


Попробуй перепиши приложение с 500+ формами и диалогами на Qt. Тогда поговорим.

V>Я например как разработчик хочу кросплатформенности с минимальныим услиями.


Твое требование кросплатформенности — это только твое требование. А у многих требования ограничиваются "шоб под виндой работало".
Re: Старую шаревару с дельфы на Lazarus
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 14.04.19 01:40
Оценка:
Здравствуйте, rean, Вы писали:

R>Так что задумался над Лазарусом.

R>У кого есть опыт, скажите, как оно, какие подводные камни?
R>Есть ли способ быстрого портирования исходников дельфы, чтобы не переделывать с нуля все формы?
R>Как оно работает в маке, есть ли там подводные камни?

Я перенес вот этот проект из Делфи в Лазарус недавно, тк хотелось его сделать кросс-платформенным. 10 тыс строк кода, 20 форм.

Формы удалось перенести с минимальными усилиями, просто переименовав их в LFM и кликая ОК чтобы пропустить свойства не поддерживаемые Лазарусом (Margin в основном).

Из проблем было:

1) Virtual TListView не работает толком на маке и линухе — пришлось менять на virtual tree view.
2) Некоторые контролы не работают на macOS/Cocoa, потому маковская версия пока собирается с Qt
3) Нужно помнить что строки в лазарусе это Utf8, а в дельфи и винде Unicode (в старых делфи — ANSI)

Из того что сделано лучше чем в делфи:

1) Можно сишные либы типа sqlite слинковать прямо в бинарник в виде статической либы, FPC поддерживает $LINKLIB.
2) Есть многоразмерный TImageList, хотя вроде в последних делфях он тоже появился
Re: Старую шаревару с дельфы на Lazarus
От: BlackEric http://black-eric.lj.ru
Дата: 14.04.19 09:21
Оценка:
Здравствуйте, rean, Вы писали:

R>Есть куча старых проектов на Turbo Delphi Explorer (аналог Delphi 2006). Все компоненты из стандартной вкладки. Никакого мудреного взаимодействия с VCL.


R>Самый последний вариант — покупка последней дельфы. Не хочется этого никак.


ИМХО, Лазарус как был так и остался поделкой для курсовых. Нужно переходить на Qt или .Net
https://github.com/BlackEric001
Re[2]: Старую шаревару с дельфы на Lazarus
От: icezone  
Дата: 14.04.19 17:36
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>1) Можно сишные либы типа sqlite слинковать прямо в бинарник в виде статической либы, FPC поддерживает $LINKLIB.


Delphi это умеет делать уже лет десять

ЧВ>2) Есть многоразмерный TImageList, хотя вроде в последних делфях он тоже появился


зачем эти костыли если можно использовать векторный формат для всех разрешений
Re[3]: Старую шаревару с дельфы на Lazarus
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 14.04.19 23:46
Оценка:
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, Черный Властелин, Вы писали:
ЧВ>>1) Можно сишные либы типа sqlite слинковать прямо в бинарник в виде статической либы, FPC поддерживает $LINKLIB.
I>Delphi это умеет делать уже лет десять

Как? Линковать OBJ файлы по одному да еще и в нужном порядке — дикий геморрой.

ЧВ>>2) Есть многоразмерный TImageList, хотя вроде в последних делфях он тоже появился

I>зачем эти костыли если можно использовать векторный формат для всех разрешений

Ну так в Дельфи встроенного векторного движка тоже нет. Я для делфи использую вот это, автор работает над версией для лазаруса.
Re[4]: Старую шаревару с дельфы на Lazarus
От: icezone  
Дата: 15.04.19 10:12
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>Как? Линковать OBJ файлы по одному да еще и в нужном порядке — дикий геморрой.


да, приходится поштучно линковать

ЧВ>Ну так в Дельфи встроенного векторного движка тоже нет. Я для делфи использую вот это, автор работает над версией для лазаруса.


его нигде нет
все либы что я видел (C и Delphi) косячат
Re[5]: Старую шаревару с дельфы на Lazarus
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 15.04.19 10:34
Оценка:
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, Черный Властелин, Вы писали:
ЧВ>>Как? Линковать OBJ файлы по одному да еще и в нужном порядке — дикий геморрой.
I>да, приходится поштучно линковать

Ну вот, а в FPC можно вот так целыми либами. Оно само разрулит связи:

{$IFDEF WIN32}
{$LINKLIB 32-bit\sqlite.a}
{$LINKLIB 32-bit\kernel32.a}
{$LINKLIB 32-bit\msvcrt.a}
{$LINKLIB 32-bit\gcc.a}
{$ENDIF}
{$IFDEF WIN64}
{$LINKLIB 64-bit\sqlite.a}
{$LINKLIB 64-bit\kernel32.a}
{$LINKLIB 64-bit\msvcrt.a}
{$LINKLIB 64-bit\gcc.a}
{$ENDIF}

ЧВ>>Ну так в Дельфи встроенного векторного движка тоже нет. Я для делфи использую вот это, автор работает над версией для лазаруса.

I>его нигде нет
I>все либы что я видел (C и Delphi) косячат

Вот еще недавно новая либа появилась — хз как она правда: https://svgmagic.io
Re[6]: Старую шаревару с дельфы на Lazarus
От: rudzuk  
Дата: 15.04.19 13:00
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ> Вот еще недавно новая либа появилась — хз как она правда: https://svgmagic.io


Для Lazarus есть отличная библиотека bgrabitmap, там есть поддержка SVG.
avalon/2.0.6
Re[6]: Старую шаревару с дельфы на Lazarus
От: icezone  
Дата: 15.04.19 18:34
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>Ну вот, а в FPC можно вот так целыми либами. Оно само разрулит связи:


согласен, так удобнее

ЧВ>Вот еще недавно новая либа появилась — хз как она правда: https://svgmagic.io


выглядит интересно, но надо опять тестировать

я пока сделал себе минимальную реализацию, хотя бы знаю чего от нее ожидать
Re[7]: Старую шаревару с дельфы на Lazarus
От: icezone  
Дата: 15.04.19 18:43
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Для Lazarus есть отличная библиотека bgrabitmap, там есть поддержка SVG.


это на собственном опыте проверено?
Re[8]: Старую шаревару с дельфы на Lazarus
От: rudzuk  
Дата: 15.04.19 19:32
Оценка:
Здравствуйте, icezone, Вы писали:

i> это на собственном опыте проверено?


Да, использую в двух проектах.
avalon/2.0.6
Re[9]: Старую шаревару с дельфы на Lazarus
От: Черный Властелин Австралия https://www.softperfect.com
Дата: 16.04.19 00:09
Оценка:
Здравствуйте, rudzuk, Вы писали:
R>Здравствуйте, icezone, Вы писали:
i>> это на собственном опыте проверено?
R>Да, использую в двух проектах.

Странно у меня BGRABitmap SVG рисовало очень посредственно, половина элементов исчезала.

Вообще ИМО в большинстве приложений нужен векторный TImageList, сделал один раз иконки и все работает на любом разрешении и в любом месте.

А вот таких компонентов и нет нигде для Лазаруса. Товарищ bverhue портирует свои компоненты на Лазарус, но это может занять время.
Re[10]: Старую шаревару с дельфы на Lazarus
От: rkcsoft Россия  
Дата: 16.04.19 05:18
Оценка:
Здравствуйте, Черный Властелин, Вы писали:

ЧВ>Вообще ИМО в большинстве приложений нужен векторный TImageList, сделал один раз иконки и все работает на любом разрешении и в любом месте.


Не могу согласиться. То, что выглядит супер в svg 128x128 — не выглядит также в 16х16.
Нужна ручная доводка человеком. Поэтому лучше растр под разные DPI.
Re[11]: Старую шаревару с дельфы на Lazarus
От: icezone  
Дата: 16.04.19 07:02
Оценка:
Здравствуйте, rkcsoft, Вы писали:

R>Не могу согласиться. То, что выглядит супер в svg 128x128 — не выглядит также в 16х16.


замечательно все выглядит в 16х16

R>Нужна ручная доводка человеком. Поэтому лучше растр под разные DPI.


и сколько этих разных DPI твоя программа поддерживает?
Re[3]: Старую шаревару с дельфы на Lazarus
От: Евгений Акиньшин grapholite.com
Дата: 16.04.19 07:11
Оценка:
Здравствуйте, rkcsoft, Вы писали:

R>Здравствуйте, rean, Вы писали:


R>>Отбой. Глючит на High-DPI при перемещении между мониторами.

R>>Все компоненты на форме улетают неизвестно куда, форма ресайзится в нулевые высоту и ширину. Появляются какие-то черные линии в виде артефактов.

R>Также и тут. Юзкейс по перетаскиванию окна между мониторами с разными DPI настолько маловероятен,


Воткнул ноут во внешний монитор/проектор, перетащил окно на него, каждый день так делаю

Если это не самый типовой юзкейс, то я
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.