Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.23;
Скачать: CL | DM;

Вниз

Перевод проекта с Delphi на FreePascal   Найти похожие ветки 

 
engine ©   (2011-06-24 23:35) [0]

Сталкивался ли кто с данным вопросом. Есть довольно-таки большой проект на Delphi под Windows, возникла необходимость портировать его под Linux. Первым и как мне кажется наиболее простым решением является переделать его под FreePascal (проект - клиент для веб-сервиса). Какие подводные камни ожидают? Важным условием является то, чтобы с минимальными изменениями в коде компилировать под разные ОСи.


 
Loginov Dmitry ©   (2011-06-24 23:46) [1]


> Первым и как мне кажется наиболее простым решением является
> переделать его под FreePascal


Под Wine"ом не работает?


 
©   (2011-06-24 23:57) [2]


>  Перевод проекта с Delphi на FreePascal

все то же
возможно придется чуть переписать
ифдефы спасут


 
Virgo_Style ©   (2011-06-25 00:19) [3]

Там есть мастер импорта, и он неплох. Во всяком случае, для моего не особо затейливого проекта.

На чем прокололся лично я:
- Некоторые типы и классы называются иначе.
- По умолчанию String - это короткая строка. Мастер импорта вставляет нужные директивы, но если постараться, то лопухнуться все же можно.


 
engine ©   (2011-06-25 00:44) [4]

Под wine"ом должен работать, не пробовал, пока просто зондирую почву. Не хотелось бы использовать "прослойки". Строки длиной более 255 символов не используются, поэтому это не должно оказаться узким местом. Я думал, есть какие-то общие правила, по типу : не использовать то-то и то-то.

Ифдефы спасут тех, кто знает :)


 
©   (2011-06-25 00:55) [5]


>  не использовать то-то и то-то.

базы пользует?

адо точно не заработает


 
Loginov Dmitry ©   (2011-06-25 10:38) [6]


> Под wine"ом должен работать, не пробовал, пока просто зондирую
> почву. Не хотелось бы использовать "прослойки".


Все пользуются Wine"ом, отличная вещь, для Linux"a - родная. Но разумеется, если проект новый, то его, имхо, было бы правильнее сразу делать с использованием FreePascal (с помощью среды Lazarus).

А со строками нужно быть внимательным. По умолчанию строки string в Lazarus"e - это UTF8, стандартные функции обработки строк работают "непривычно".


> адо точно не заработает


Вроде кому-то удавалось:
http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=860215&pg=1&hl=lazarus


 
©   (2011-06-25 11:50) [7]


> то его, имхо, было бы правильнее сразу делать с использованием
> FreePascal (с помощью среды Lazarus).

правильнее было бы С++ и Qt, но это мое имхо


подключение можно осуществить к БД через DNS и все запросы SQL отправляются без проблем

феерические спецы


 
Kerk ©   (2011-06-25 18:43) [8]


> * ©   (25.06.11 11:50) [7]

Ну опечатался человек. Не DNS, а DSN. Бывает.


 
~   (2011-06-25 20:43) [9]

Гловное не юзать прямые вызовы API системы , а если приходится, то лично мое мнение, выводить их в отдельные функции, а там, как уже посоветовали, делать ифдефы на вызов апи целевой системы


 
engine ©   (2011-06-25 21:27) [10]

Спасибо за разъяснения


 
TUser ©   (2011-06-26 12:32) [11]


> По умолчанию String - это короткая строка.

-Mdelphi ?


 
SegeyIT   (2011-06-26 23:41) [12]

Проще поставить Лазарус и попробовать.
Сам в свое время cgi приложения с дельфи в лазарус переделал (точнее несколько системных вызовов только поменял) и все работает уже 3 года. Хотя хотел переписать на С++, но руки не дошли. (



Страницы: 1 вся ветка

Текущий архив: 2011.10.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
15-1308914383
Мимо не прошел
2011-06-24 15:19
2011.10.23
Пессимистичная фантазия.


15-1309081495
trololo
2011-06-26 13:44
2011.10.23
Как сделать чтобы при WM_PAINT нарисованное оставалось на форме


15-1309343563
RakDoll
2011-06-29 14:32
2011.10.23
Помогите сделать программу


15-1309267786
eXAAAXe
2011-06-28 17:29
2011.10.23
Что за функция OpenRaw?


15-1309127349
Германн
2011-06-27 02:29
2011.10.23
Опять WinLock