Можно ли запустить приложение Windows Form на платформе Windows CE? - PullRequest
4 голосов
/ 18 февраля 2010

Я новичок в разработке Windows CE и никогда не делал этого. Нужен совет от эксперта здесь.

В нашем текущем проекте мы разрабатываем клиент-серверное приложение. На стороне клиента используется приложение Windows Form, основанное на ОС Windows XP, в то время как сервер является веб-приложением.

Этот вопрос относится к клиентскому приложению (форма Windows). Это приложение использует Sql Server Express Edition для хранения данных. Данные хранятся в формате объекта XML. Он также может передавать данные с клиента на сервер через веб-сервис. Он также взаимодействует с таким оборудованием, как считыватель магнитных карт, бесконтактный считыватель смарт-карт и термопринтер. Большая часть связи между аппаратным устройством и системами основана на последовательном порте. Он использует стандартный app.config для конфигурации и является многопоточным приложением.

Существует новое требование для использования портативного устройства, использующего платформу Windows CE. В это портативное устройство входило необходимое оборудование, такое как бесконтактный считыватель смарт-карт, принтер и считыватель магнитных полос. Вместо того, чтобы разрабатывать новое клиентское приложение, могу ли я преобразовать мое текущее приложение, основанное на Windows XP, в Windows CE? Если да, как я могу это сделать? Если нет, то есть ли еще какое-нибудь блестящее предложение сделать это?

Заранее спасибо. Инженер-программист

Ответы [ 6 ]

4 голосов
/ 18 февраля 2010

Да, это возможно при использовании .NET compact framework.

Однако вы должны понимать, что CF является подмножеством полной платформы .NET, а версия CLR для CE имеет ограничения, отличные от версии для настольных компьютеров.

Вы сможете повторно использовать большую часть своего кода, но вам придется потратить немало времени на перепроектирование своего пользовательского интерфейса и изменение кода, чтобы обойти различия и ограничения компактной среды.

1 голос
/ 18 февраля 2010

Как уже упоминали другие, .NET Compact Framework - это путь.

Полезный совет: чтобы определить, поддерживается ли что-то CF, на страницах MSDN есть небольшой значок портативного устройства, который, еслиВы прокручиваете надпись «Поддерживается .NET Compact Framework».Например, вы переходите к методам WaitHandle и видите, что WaitOne поддерживается, но не WaitAny или WaitAll.Это может дать вам лучшее представление о том, сколько вам, возможно, придется изменить.

1 голос
/ 18 февраля 2010

Это потребует определенных усилий, но это возможно. Windows Forms не совпадает с Windows Mobile, так как Compact Framework является лишь подмножеством .NET Framework.
Кроме того, будут некоторые ограничения, на которые следует обратить внимание, особенно в отношении выделения памяти (ограничения WinCE до 32 МБ памяти, выделяемой для одного приложения), потоков и ограниченных вычислительных ресурсов (например, в приложении моей компании внесены некоторые изменения экрана независимыми темами).

0 голосов
/ 25 марта 2010

И технология базы данных, которую вы ищете, - это SQL Server Compact Edition (a.k.a. SQLCE).

Экземпляр базы данных SQL CE представляет собой отдельный файл (.sdf) в локальном файловом хранилище (во многом аналогично старому компоненту базы данных Access) и НЕ работает в качестве отдельной службы. Поэтому убедитесь, что вы аккуратно закрываете соединения с базой данных (используйте предложение finally!).

Из краткого прочтения контекста вашего приложения я не думаю, что вы столкнетесь с серьезной проблемой множественного доступа / пула соединений.

Раздражает о Windows Forms вещи на WinCE:

  1. sllllooooowwww (графический ускоритель недоступен или что-то в этом роде)
  2. метки не имеют автоматического размера, только для чтения многоканальные текстовые поля являются чем-то одним иногда возвращается к
  3. текст на кнопках не переносит слова
  4. анимированные GIF-файлы не поддерживаются PictureBoxes

К тому времени, как вы пересмотрели код, запущенный на вашем устройстве, вам будет очень трудно портировать обратно, поэтому постарайтесь сохранить новое дерево в вашем контроле исходного кода полностью ...: (

0 голосов
/ 18 февраля 2010

Возможно, но вам придется ограничиться тем, что доступно в .Net compact framework .

Эта редакция фреймворка предназначена для работы на встроенных устройствах и Windows CE.

0 голосов
/ 18 февраля 2010

API-интерфейсы в Windows CE значительно различаются, некоторые аспекты могут легко переноситься, но, вероятно, потребуется значительное количество изменений.

...