{{notification.text}}

MirGames

25.06.07 20:56
0
У меня есть программа, которая написана на Borland Delphi 7 + WinApi.

Хотелось бы, чтобы эта прога заработала (либо скомпилировалась, а потом заработала) под Linux при минимуме вложенных усилий.

Я слышал что-то про wine или wise (точно не помню) - имитатор WinApi под линухом. Где про него можно почитать?

И еще интересует могут ли быть проблемы при переводе из BD7 в Kylix?
Отредактировано: 25.06.07 20:57
#1
25.06.07 21:16
0
Wine. Глюковат он, но в принципе немного работает. Под Cedega (надстройка на wine, добавляющая DirectX API, экс-WineX) я запускал Red Alert - работает :) В отличие от Win XP. Сам wine есть практически во всех дистрибутивах линукса, AFAIK, либо wine-hq.org (вроде так, насчет домена не уверен).

А, забыл сказать как юзать. Я юзал из командной строки - wine program.exe или cedega program.exe. Только Cedega вроде коммерческая :(
Еще правда у wine где-то вроде дофига настроек, но я не знаю...
#2
FLiCk MoNTanA
26.06.07 02:16
0
visual, Wine имулирует WinApi на этапе выполнения приложения и представляет собой просто реализацию части WinApi функций. Более разумно, а в некоторых случаях и проще, видоизменить код и пересобрать приложение под линукс. В линукс работа на низком уровне происходит при помощи вызова функций ядра. Вообще программирование под линкус - это большая тема, о которой в двух словах не скажешь, отличий от Windows очень много.

Сложность переноса будет зависеть от уровня использования WinApi, но код без изменения заставить перекомпилиться нельзя. Почитай любою книжку по программирования под линукс, наврняка в переносе твоей проги не будет ничего сложного. Также погляди на примеры, которые идут вместе с Kylix, побробуй подобрать то, которое больше подходит к твоему и изучи код. Чаще всего необходимо просто изменить функции для обработки сообщения пользователя, хотя все сильно зависит от типа приложения. На счет проблем - проблем может быть море, вплоть до того, что почти все нужно переписать, но это опять же зависить от того, для чего используешь WinApi.

Удачи!!! :)
#3
26.06.07 02:23
0
FLiCk MoNTanA
Спасибо :) Вообще ничего выпендрежного от винапи и дельфи не выжимал. Вообще, наверно, стоит себе на комп поставить линух и попрогать под Kylix.

Недавно была попытка запустить прогу при помощи wine - и о чудо, она запустилась!!! Только одна проблема - все символы не русские, не английские и вообще кажется не буквы :)
#4
FLiCk MoNTanA
26.06.07 02:48
0
Цитата
Недавно была попытка запустить прогу при помощи wine - и о чудо, она запустилась!!! Только одна проблема - все символы не русские, не английские и вообще кажется не буквы smile.gif


Есть папочка у вайна, путь не помню, если туда кинуть шрифты из винды, то все будет гут! :) А так глюкавая это все таки вещь. Седега лучше намного, но заточена под игры, причем только под популярные. Линукс обязательно ставь. Лучше в VMWare, сразу и винда будет доступна и линкс, а когда разберешься, можно и на железо будет поставить. :)
#5
26.06.07 11:01
0
Имбалдется, что если кроме стандартных компонентов ни чего не использовалось, то достаточно будет VCL-ные заголовки заменить на CLX, т.е. добавить Q (QForms вместо Forms в uses). Kilyx должна это проглотить.
#6
26.06.07 13:46
0
Drako
VCL не использовал, потому что меня от него тошнит :)

Вот, пытался утащить у винды шрифты, половину поубивал, теперь все курсивное.

Вобщем, все заработало, всем спасибо! :)
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}