Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.10.23;
Скачать: [xml.tar.bz2];

Вниз

Перевод проекта с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
1-1263286244
sann-x
2010-01-12 11:50
2011.10.23
Установка ActiveX компонента


2-1309797069
Leon-Z
2011-07-04 20:31
2011.10.23
Ошибка TWebBrouser 8-О


2-1309595561
FolderS
2011-07-02 12:32
2011.10.23
Indy Socket error #0 при post запросе


15-1308905141
SQLEXPRESS
2011-06-24 12:45
2011.10.23
А Зотова хочется отдельной строкой поздравить все же.


6-1235119752
Андрей09
2009-02-20 11:49
2011.10.23
Как получить текст, выводимый на страницу html через javascript





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский