WindowsCEでVBを利用できるのか?

解決


ソンジョウ  2004-12-06 23:58:22  No: 118019

PDAを使用して,簡単なメールソフトを作成しようと考えています。
たとえば,一度PDA用にデスクトップPC上からVBでメールソフトを作成し,
そのEXEファイルをPDAに送って,PDA上で利用できるのでしょうか?
また,利用できるのであればMSCOMM32.OCXは対応してますか?
よろしくお願いいたします。


ぴろあき  2004-12-07 00:58:16  No: 118020

>そのEXEファイルをPDAに送って,PDA上で利用できるのでしょうか?
えと、わかっているとは思いますが、
PDAとPCと両方とも同じExeファイルでというわけにはいきません。
PDAはPDA専用の開発ツールで作成します。
対象となるOSのバージョンによって開発ツールが異なります。
また、OSのバージョンによってSDKも変わってきます。
古い開発ツールから順に、
Visual Basic for Windows Ce
eMbedded Visual Basic 3.0(以下EVB)
Visual Basic .NET(以下VB.NET)
#VS.NET内に含まれるVB.NETを指す
#VB.NET単体のパッケージでは開発にRADが使用できないため、
#相当の手間がかかります。
などの開発ツールがあります。

>また,利用できるのであればMSCOMM32.OCXは対応してますか?
対応していません。
EVBに付属のMSCeCommコントロールを使用すれば、
MSCommコントロールと同じ感覚でコーディング可能です。
VB.NETのPDA用アプリケーションで232Cを使用するのは大変難しいです。
私は、開発を断念しました。
#APIも全部、PC用のものとは異なりますし
#当時は、先人達の情報が何もありませんでしたから(VB.NET出荷直後)

PDA関係の質問は、下記の掲示板の方がいいかも知れません。
#過去ログを発言者名ぴろあきで検索すると、
#PDAでの232C系のログが結構出てきますよ。
http://www.wince.ne.jp/frame.asp?http://bbs.wince.ne.jp/ch10/
#上の掲示板で質問する場合は、
#こちらの掲示板を〆た後、あちらの掲示板でマルチポストの非礼を詫びておきましょう。


ぴろあき  2004-12-07 01:01:13  No: 118021

補足:
VB.NETはもちろん、PC用のアプリも作成可能ですが、
Windows  アプリケーション用に作成したものはPDAでは動作しません。
スマートデバイス  アプリケーション用に作成したもののみ動作します。

もちろん、そうして作成したものはPCでは動作しません。
#エミュレーター上での動作を除く


魔界の仮面弁士  2004-12-07 01:34:16  No: 118022

> WindowsCEでVBを利用できるのか?

そのPDAが採用している Windows CE のバージョンによります。

OS が Windows CE H/PC Pro ("Jupiter" クラス)の場合には、
『Microsoft Windows CE Toolkit for Visual Basic 6.0』が
使えるようです。これについては経験が無いので分かりませんが、
MSの資料を見る限りは、VB6のアドインという形になるようです。

ハンドヘルドPC 2000, CE 3.0 の場合には、開発環境として
「Microsoft eMbedded Visual Tools」を使用できます。
この場合、選択可能な言語製品としては、
・「eMbedded Visual Basic 3.0」
・「eMbedded Visual C++ 3.0」
となります。VBがよければ、前者(eVB3)を選択されると良いでしょう。

PocketPC 2002, 2003, CE.NET 4.1, 4.2 の場合には、
開発環境として「Microsoft eMbedded Visual Tools」と
「Microsoft Visual Studio .NET 2003」を選択できます。

ただ、前者の言語製品としては、「eMbedded Visual C++ 4.0」が
推奨されますので、VB系がよければ後者(VB.NET 2003)を選択する事に
なるかと思います。その場合は、「.NET Compact Framework 1.0」に
Service Pack 2を当てておくと良いでしょう。

なお、PocketPC 2003の開発を行うなら、別途、
Windows Mobile 2003 Software for Pocket PC SDK を
インストールしておいて下さい。

なお、携帯電話系(Smartphone 2002等)は経験が無いのでわかりません。

> たとえば,一度PDA用にデスクトップPC上からVBでメールソフトを作成し,
> そのEXEファイルをPDAに送って,PDA上で利用できるのでしょうか?

CE機での開発は、
・エミュレータ上での実行
・実機での実行
という2種類を選択できます。
H/PC、PocketPC、CE.NETそれぞれのIntelエミュレータが提供されて
いますので、実機が無くても、ある程度の開発は行えます。

ただし、基本的にデスクトップ向けのアプリは、PDAでは動きません。
もちろん、開発やコンパイルはデスクトップ機で行なう事になりますが、
できあがったアプリ自体は、エミュレータまたは実機に転送してから
動作させることになります。

ちなみに、実機でステップ実行などのデバッグ機能も使いたい場合は、
Microsoft ActiveSync が必要となります。
(エミュレータでの実行の場合は、ActiveSync無しでもデバッグ可能です)

> また,利用できるのであればMSCOMM32.OCXは対応してますか?
それは、RS-232C通信用のActiveXコントロールですね。
デスクトップ向けのOCXは、PDA上では動作しません。
CEにはCE用のコンポーネントがあります。

eVB3を使って通信系ソフトの開発を行うなら、
[Microsoft CE Comm Control 3.0] (MSCECOMM.DLL)
[Microsoft CE WinSock Control 3.0] (MSCEWINSOCK.DLL)
というコントロールがあります。MSCOMM32.OCXに相当するのは前者ですね。

.NET Compact Frameworkを使うのであれば、通信には
[System.Net.WebRequest] (URIで指定したリソースへの要求)
[System.Net.Sockets] (基本的なソケットベースの通信を実装)
などが使えます。IrDA(赤外線通信)なども実装可能です。

最後にもうひとつ。

CEにおける実装は、各ベンダがカスタマイズ可能となっていますので、
デバイスによっては、一部のAPIが実装されていなかったり、あるいは、
独自のAPIが実装されている場合もあります。これらについては、
各PDAの開発元に問い合わせてみてください。


魔界の仮面弁士  2004-12-07 01:53:41  No: 118023

.NET Compact Framework で RS-232C を扱う必要があるなら、
こういった製品があるようです。使った事はありませんけど…。

[Charon.Communications for .NET Compact Framework] 
http://www.componentsource.co.jp/Catalog.asp?fl=&gf=+BUSFUNCCOMMSS&bc=&sc=CSJ&ul=ja&PO=514854&option=10777&RC=CSJ_P_B_C_RL&POS=1&ml=en


ぴろあき  2004-12-08 20:08:28  No: 118024

訂正:
>Visual Basic for Windows Ce
Microsoft Windows CE Toolkit for Visual Basic 6.0

さすが、魔界の仮面弁士さん。
親切・丁寧でわかりやすい説明に今回も感服いたしました。
が、勝手ながらEVB3.0のサポートOSについて補足させていただきます。

EVB3.0についてですが、
2003年5月の時点で公式にサポートされているOSは、
Pocket PC 2000
H/PC Pro
Palm-size PC 1.2
Pocket PC 2002 SDKはサイトから入手できます。
(ソース)
http://www.microsoft.com/japan/msdn/vstudio/device/embeddedfaq.asp#a17
という微妙な記述でした。

私が実機で動作テストした限りでは、
EVB3.0  −  Pocekt PC 2002での動作には問題ありませんでした。

また、Pocket PC 2003については、下記をダウンロードする事で、
動作可能になりました。
http://msdn.microsoft.com/mobility/windowsmobile/downloads/evb.aspx

ただし、ランタイムが英語版のためか、
1.ADOCEでのCDBアクセスで、テーブル名が日本語だとエラーになる
2.ADOCEでのCDBアクセスで、フィールド名が日本語だとエラーになる
3.S309Hotkeyがエラーになり動作しない
などの報告があるようです。

私自身、Pocket PC 2003用のアプリを開発する為に、
VB.NETを購入したのですが、
比較的安いうえ、
VB6に似ていて開発が簡単なEVB3.0で開発できる事を知って、
憤りを感じた経験から補足させていただきました。

1年以上PDAから遠ざかっているので、
あるいはもうP_PC2003用の日本語ランタイムが出ているかも知れませんね。


ソンジョウ  2004-12-08 23:41:44  No: 118025

発言してくれたみなさま,ありがとうございます。
かなりPDAでの開発についてみえてきました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加