Текущий архив: 2005.03.20;
Скачать: CL | DM;
Вниз
Delphi 2005 & Pocket PC Найти похожие ветки
← →
pusrg (2005-02-22 20:19) [0]Уважаемые коллеги!
Подскажите можно ли скомпилировать приложение в новой версии Делфи2005 для работы на Pocket PC 2000(2002-2003)?
Попытался сам решить эту проблему, сделав следующие шаги:
1. Поставил триальную Делфи 2005 с сайта Борланда. (Ужжжасный геморой при установке! ).
Установку сделал без поддержки языка С#, все остальные возможности ставил в полном объеме.
2. На КПК поставил Compact FrameWork 1.0 SP2 (c сайта Microsoft).
3. Скомпилировал два тестовых приложения. Одно с поддержкой VCL Forms (форма с надписью), второе с поддержкой Windows Forms,
взял из примеров к среде - реализация игры "Тетрис". При компиляции удалил все флажки в опциях проекта в разделе Compilation, в группах "Debugging" и "Runtime Errors" и убрал оптимизацию.
4. При попытке запустить любое из этих приложений на КПК программа вываливается с ошибкой: TypeLoadException.
В инете пробовал искать тематику по этой проблеме, но однозначного ответа не нашел :(. Варианты ответов колеблются от: "вроде как можно, даже Борланд это анонсировал, но точно неизвестно..." до "скорее всего нельзя, нужно ждать операционку CE.NET на устройства..." :).
Буду благодарен за точный ответ. Заранее спасибо.
Извиняюсь, если этот вопрос на форуме уже звучал, но его я, к сожалению, не нашел.
С уважением,
← →
vecna © (2005-02-22 23:35) [1]Я не стану утверждать, тем не менее, CE и Win32 - разные ОСи, с разными элементами управления. Нету на КПК MDI, нету меню, нету тулбаров... много чего нету... в общем случае, нельзя просто взять и перекомпилировать программу для КПК.
Борланду либо надо придумывать а-ля PocketVCL =) либо писать на чистом CE API. Кроме того, мне казалось, что скомпилированный код все же зависит от платформы. В КПК отнюдь не x86 совместимые процессоры.
Думаю так, возможно гоню... =)
← →
вредитель © (2005-02-22 23:52) [2]Думаю так, возможно гоню... =)
И да и нет.
1. Борланду либо надо придумывать а-ля PocketVCL =) либо писать на чистом CE API.
Возможно, я Вас удивлю, но под CE можно писать на MFC. Достаточно установить eMbedded VC++. На данный момент, существует v4.0, возможно последняя. Бесплатна. Не упустите свой шанс.
P.S. CE API не особо сильно отличается от настольного.
Кроме того, мне казалось, что скомпилированный код все же зависит от платформы. В КПК отнюдь не x86 совместимые процессоры.
Существуют КПК с x86 процессорами. Но более распространены нынче ARM и MIPS.
Можно писать под эту платформу на C# и VB. Нужно лишь установить Visual Studio 7.1. Для того, чтобы приложение работало, нужно откомпилировать его под .NET CF, так что переносимость только на уровне исходников, да и то не всегда.
Про дельфи ничего не знаю и Вам не советую.
← →
vecna © (2005-02-23 00:02) [3]вредитель
>Возможно, я Вас удивлю, но под CE можно писать на MFC. Достаточно установить eMbedded VC++
Не удивите, я им и пользуюсь =)
>Существуют КПК с x86 процессорами
Хорошо, удивили... но смысла в этом нет =)
>Можно писать под эту платформу на C# и VB. Нужно лишь установить Visual Studio 7.1.
И на этом я тоже писал, но че-то не понравилось... остановился на eVC.
> Про дельфи ничего не знаю и Вам не советую.
Аналогично, но сомневаюсь, что Борланд прям вот в ближайшее время осилит рынок разработок для КПК...
← →
by © (2005-02-23 12:06) [4]Я пишу на С# для КПК, в Visual Studio. Без выкрутасов на Delphi 2005 я думаю что не написать для покетов. Одной из причин является то, что Compact Framework SDK нет. MS собираются его выпустить после выхода Studio 2005. Вот тогда и под Delphi 2005 будет можно писать.
Хотя в контексте .Net я бы выбрал С#, а не Delphi.Net. С Delphi.Net создается ощущение что слеписли слона с носорогом, отовсюду торчат уши VCL, которую заворачивают в родные классы .Net (или наоборот).
← →
[wl] (2005-02-23 13:22) [5]простой пример. создайте обычное приложение в vs на c# (windows form). скомпилируйте, скопируйте на кпк и запустите - всё работает. то есть совместимость на уровне промежуточного языка msil есть. программа будет вываливаться с эксекшеном только в случае использования тех классов, которых нету на кпк.
то же самое работает и наоборот: голая форма для wince запускается в winxp.
можно попробовать накидать меню и всяких кнопок, я уверен на 90% что тоже будеть работать хотя бы в одну сторону (wince->winxp)
под делфи скопмилировать для wince НЕ получится, причины описаны в нете, не помню точно какие, что-то связанное с сильной привязкой в реестру у борланда.
← →
pusrg (2005-02-23 14:31) [6]Спасибо всем ответившим.
Я тоже програмирую на EVC. Хочу попробовать C#, но сейчас передо мной стоит задача иного плана:
Есть программа для Win32, написанная в Delphi. Задача, в кратчайшие сроки, портировать приложение для работы на КПК. Заказчик даже не остановится перед приобретением лицензии к Delphi 2005, если она позволит создать аналогичное приложение
с минимальными изменениями.
Но, как я понял, эта мечта нереальна :(, я прав?
Остается портировать паскалевский код на C++ или C# :(.
Пожалуй даже выберу последний, т.к. никогда в нем не работал, а интересно попробовать, для расширения проффесионального кругозора.
Тогда такой формальный вопрос к людям, возможно решавшим подобные задачи, на какой из языков портировать легче ?:). Я понимаю, что вопрос скорее философский и риторический, но все же, кто хочет, выскажите свои предположения. При этом учитывайте следующие
факторы:
- C# я не знаю вообще :(.
- Краем уха слышал, что C# поддерживает события, возможно в этом плане портирование с Delphi будет легче?
- Паскалевский код мне абсолютно не знаком, писал его не я.
То [wl] (23.02.05 13:22) [5]
под делфи скопмилировать для wince НЕ получится, причины описаны в нете, не помню точно какие, что-то связанное с сильной привязкой в реестру у борланда.
Не могли бы Вы в меня кинуть хотя бы примерной ссылкой? :)
На "Королевстве Делфи" нашел обсуждения по 9-ой версии:
Вот мнение Александра Вуколова:
Насчет PocketPC. Насколько я знаю, в Borland собирались делать поддержку .NET Compact Framework. Помнится, еще до анонса D2005, в конференциях писали, что поддержка будет, но похоже потом решили пока не включать поддержку CF в коммерческую версию. Почему - не знаю, им внутри виднее... Если не ошибаюсь, работе программ, скомпилированных Delphi for .NET на CF мешает какая-то несовместимость в RTL.
Но рядом есть совсем другое мнение:
люди я точно помню что при установке Delphi8 в рекламе промелькнули строки о том что теперь можно создавать проги для pocketPC ну а в 2005-ом думаю ето где нибудь должно быть.
:). Тоесть, уже понятно, что скомпилировать приложение в Делфи2005 для Pocket PC нельзя :(. Но почему - никто точно сказать не может.
← →
by © (2005-02-23 14:50) [7]pusrg (23.02.05 14:31) [6]
:). Тоесть, уже понятно, что скомпилировать приложение в Делфи2005 для Pocket PC нельзя :(. Но почему - никто точно сказать не может.
Просто нет отдельно распостраняемого Compact Framework SDK, только в составе Visual Studio. Т.е. никакие другие IDE не могут лицензионно чисто его использовать.
Я перешел с Delphi на С#. Примерно за месяц достаточно разобрался чтобы писать приложения для покета. Delphi и С# очень похожи, автор то один ))
Многое в С# писать быстрее и удобнее чем в Delphi. Правда есть и недостатки, например отсутствие глобальных переменных, приходится выкручиваться.
Так что мой выбор для покетов - С#
← →
вредитель © (2005-02-23 14:51) [8]Остается портировать паскалевский код на C++ или C# :(.
В Сети есть конверторы pas->cpp и наоборот, однако, что бесплатно, то древне, а что ново то ой сколько денег стоит, однако, говорят помогает. Впрочем, абсолютно полной автоматики от них ожидать не приходится и нужно многое руками править. И помогают, ессно если небыло использовано VCL.
А так, на мой взгляд, если портировать руками, то легче конечно на C#.
← →
Soft © (2005-02-23 16:20) [9]>>pusrg (22.02.05 20:19)
>>Уважаемые коллеги!
>>Подскажите можно ли скомпилировать приложение в новой версии Делфи2005 для работы на Pocket PC 2000(2002-2003)?
Нет.
http://delphimaster.net/view/14-1108996615/
← →
вредитель © (2005-02-23 16:27) [10]Так оказывается что, код, скомпилированный на Delphi.NET, не работает ни на каких платформах кроме Win32/Win64. На том же WinCE он не пойдет, там нужно компилировать программу специально под Net Framework Compact!!! Ну и где заявленная многоплатформенность и переносимость кода как на Java?
Ну так дельфи же, чего вы от нее хотели то?
простой пример. создайте обычное приложение в vs на c# (windows form). скомпилируйте, скопируйте на кпк и запустите - всё работает....
то же самое работает и наоборот: голая форма для wince запускается в winxp.
Порверил, воистину работает.
← →
[wl] (2005-02-23 16:55) [11]Тут есть ещё один нюанс: выбор между c++ и c# гораздо глубже, чем просто выбор языка - это выбор платформы: Win32 или .NET. .NET-надстройка над win32 примерно как vcl (прошу за сравнение ногами не пинать). к чему это приводит? - программа для .net жрёт много ресурсов, работает с тормозами, в ней есть глюки, нету некоторых возможностей, которые есть в win32 (например, сам столкнулся - нельзя в качестве Brush использовать рисунок). И это притом, что кпк это не настольный комп, оперативки в ppc мало, скорость процессора небольшая...
но есть и достоинства - скорость разработки! и много-много полезных классов...
Насчёт ссылок - я насколько помню, читал это на диске журнала RSDN, так что скорее всего на rsdn.ru
← →
вредитель © (2005-02-23 17:09) [12]например, сам столкнулся - нельзя в качестве Brush использовать рисунок
Хм, а это чего это такое (незнаю, правда, есть ли в CF)?
System.Drawing.TextureBrush
Хотя, впрочем, с Windows Shell на Net действитедьно плохо играться, но WinAPI функции вызывать вполне можно. Переносимость, конечно теряется.
← →
[wl] (2005-02-23 17:30) [13]System.Drawing.TextureBrush - есть только в некомпактной версии :( . через native-invoke делать было лень...
← →
by © (2005-02-23 17:45) [14][wl] (23.02.05 16:55) [11]
но есть и достоинства - скорость разработки! и много-много полезных классов...
Вот именно это и цениться, time to market, однако.
← →
BorisMor © (2005-02-24 00:34) [15]to pusrg
Если соберешся с духом и решиш перевести на C# посмотри вот это:
http://www.netcoole.com/delphi2cs.htm
По крайней мере помогает понять какие классы в С# аналогичны Delphi.
← →
pusrg (2005-02-24 14:10) [16]To BorisMor © (24.02.05 00:34) [15]
Спасибо за ссылку. Думаю обязательно пригодится.
Страницы: 1 вся ветка
Текущий архив: 2005.03.20;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.05 c