簡體   English   中英

是否可以在Windows CE平台上運行我的Windows窗體應用程序?

[英]Is it possible to run my Windows Form application in Windows CE platform?

我是Windows CE開發的新手,還沒有完成它。 在這里需要專家的一些建議。

在我們當前的項目中,我們正在開發客戶端 - 服務器應用程序。 客戶端使用基於Windows XP操作系統的Windows窗體應用程序,而服務器是基於Web的應用程序。

此問題與客戶端應用程序(Windows窗體)有關。 此應用程序使用Sql Server Express Edition進行數據存儲。 數據以XML對象格式存儲。 它還可以通過Web服務將數據從客戶端傳輸到服務器。 它還可以與磁條讀取器,非接觸式智能卡讀卡器和熱敏打印機等硬件進行交互。 硬件設備和系統之間的大多數通信都基於串行端口。 它使用標准app.config進行配置,是一個多線程應用程序。

使用使用Windows CE平台的手持設備有一項新要求。 該手持設備包括所需設備,如非接觸式智能卡讀卡器,打印機和磁條讀取器。 我可以將基於Windows XP的當前應用程序轉換為Windows CE,而不是開發新的客戶端應用程序嗎? 如果是的話,我該怎么做? 如果不是,是否還有其他明智的建議呢?

提前致謝。 軟件工程師

是的,可以使用.NET compact框架。

但是,您必須意識到CF是完整.NET平台的一個子集,而CLR的CE版本與桌面版本有不同的限制。

您將能夠重用大部分代碼,但是您將不得不花費大量時間重新設計UI並更改代碼以克服緊湊框架的差異和局限性。

這需要一些努力,但這是可能的。 Windows窗體不等於Windows Mobile,因為Compact Framework只是.NET Framework的一個子集。
此外,您應該注意一些限制,特別是關於內存分配(WinCE限制為32mb要分配給單個應用程序的內存),線程和有限的計算資源(例如,在我公司的應用程序中,進行了一些屏幕更改)通過獨立的線程)。

正如其他人所提到的,.NET Compact Framework是最佳選擇。

一個有用的提示:為了確定CF是否支持某些內容,MSDN頁面上有一個小的手持設備圖標,如果您滾動顯示“由.NET Compact Framework支持”。 因此,例如,您轉到WaitHandle方法,您可以看到支持WaitOne,但不支持WaitAny或WaitAll。 這可以讓您更好地了解您可能需要更改多少。

這些API在Windows CE中有很大不同,某些方面可能很容易移植,但可能需要進行大量修改。

這是可能的,但您必須將自己限制在.Net緊湊框架中可用的內容。

此版本的框架旨在用於嵌入式設備和Windows CE。

您正在尋找的數據庫技術是SQL Server Compact Edition(又名SQLCE)。

SQL CE數據庫實例是本地文件存儲上的單個文件(.sdf)(很像舊的Access數據庫內容),並且不作為單獨的服務運行。 所以一定要整齊地關閉數據庫連接(使用finally子句!)。

從簡要閱讀您的應用程序上下文,我不認為您將有一個巨大的多訪問/連接池問題。

關於WinCE上的Windows窗體的煩惱:

  1. sllllooooowwww(圖形加速器不可用或其他東西)
  2. 標簽不會自動調整大小,只讀多文本文本框有時會依賴於它
  3. 按鈕上的文字不會自動換行
  4. PictureBoxes不支持動畫GIF

當你修改了在你的設備上運行的代碼時,你會發現它很難被移植回來,所以期待在你的源代碼控制上保持一個新的樹...... :(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM