モバイルでDelphi


Mira  2007-11-06 18:24:41  No: 28245  IP: 192.*.*.*

モバイルでDelphiを動かす方法を教えて下さい。

Delphi7で作成したexeをモバイル(WILLCOMのWS003SH)で動作させたいのですが、
モバイルにCopyして実行させると「有効なPocketアプリケーションではありません」
とのメーッセジがでてエラーになります。

動作させる方法を、
ご存知の方がいらっしゃいましたらご指導をお願いします。

編集 削除
DEKO  2007-11-06 19:46:10  No: 28246  IP: 192.*.*.*

W-ZERO3のCPUはIntel PXA270というARM系CPUで、
i386系CPU(Pentium等)とは根本的に違います。

OSも名前こそWindowsとありますが、中身は別物です。
Windows用の実行ファイルはWindows Mobile 5.0上では実行できません。

"Delphi言語でWindows Mobile 5.0用の実行ファイルを作る"には
BDS2006と.NET CompactFrameworkが必要です。

概要は以下にあります。
http://dn.codegear.com/article/33700
http://homepage1.nifty.com/ht_deko/ft0702.html#070210

編集 削除
Mira  2007-11-07 16:15:28  No: 28247  IP: 192.*.*.*

DEKOさん、回答をありがとうございます。

早速、環境作成にかかりましたが、うまくいきません。
私のやり方が間違っているのかご教授いただけますか。

1.Delphi7でやりたかったのですが、無理だという事でDelphi2007を使用しました。
(Delphi2006は手元にまりません。)

2.「Delphi 2006 で行う PocketPC アプリケーション開発」を参考に行いました。
基本的にはPCで作成してからCopyしようと思い、
画面の途中の「Delphi プラグイン」から設定を始めました。その上の記述の設定はしていません。

インストールと設定のところで
1) Compact Framework プロジェクトプリプロセッサをダウンロードし、解凍してフォルダに配置します
-->これをどこに配置すればいいのかが不明でC:の直下に配置しました。?

4) Settings (設定) : 結果として、CFBH のすべての機能が新しいメニュアイテムとして作成されるようにチェックボックスをチェックします。
-->画面がでてきません。?

5) Folder Setup (フォルダセットアップ)
-->Compact Framwork ビルドヘルパーの画面がでません。?

3.NET Compact Framework 1.0 SP3は現在「2.0」がはいっているので不要でしょうか?

いろいろ質問して申し訳ありません。よろしくお願いします。

編集 削除
うんと  2007-11-07 16:32:59  No: 28248  IP: 192.*.*.*

.NET Compact Framework の Windows 上でのエミュレータでの開発ですから
Delphi for .NET が必要なのでは?  Delphi2007 では出来ないと思うけど。

編集 削除
Mira  2007-11-07 16:40:26  No: 28249  IP: 192.*.*.*

返信ありがとうございます。
知識不足で申し訳ありません。少し混乱しています。

Delphi2006で開発可能でDelphi2007ではできない?
Delphi for .NET?

編集 削除
うんと  2007-11-07 16:45:37  No: 28250  IP: 192.*.*.*

DEKOさんの返信

>"Delphi言語でWindows Mobile 5.0用の実行ファイルを作る"には
>BDS2006と.NET CompactFrameworkが必要です。

「Delphi言語」には Delphi.NET が含まれます。
Delphi2006ではなく、統合版のBDS2006には Delphi.NET が含まれます。
なお、最新の RAD studio には Delphi.NET の WindowsForm 部分がないので
使えません。

ということだと思います。

編集 削除
Mira  2007-11-07 17:14:33  No: 28251  IP: 192.*.*.*

ありがとうございます。
統合版のBDS2006では開発できるという事ですね。

Turbo Delphi for .NETでも開発ができるということでしょうか?
Turbo Delphi for .NET Explorerの無償版でやろうかと考えています。

何度もすいませんがお願いします。

編集 削除
DEKO  2007-11-07 17:44:08  No: 28252  IP: 192.*.*.*

Turbo Delphi for .NET / Explorerでは確認していません。
# 申し訳ないです。

BDS2006での話になりますが、
.NET Compact Frameworkでの開発は1.xしかできません。
.NET CFの2.xのアセンブリは利用できません。

うんとさんの仰る通り、
CRS2007のDelphi.NETはWindowsFormsがオミットされているので、
実質使えない事になります。Delphi2007ではそもそも.NETの開発ができません。

編集 削除
Mira  2007-11-07 21:44:34  No: 28253  IP: 192.*.*.*

DEKOさん、うんとさん
ご丁寧なアドバイスを心から感謝しております。

モバイル(WILLCOMのWS003SH)で動作させる必要があるので、Turbo Delphi for .NET / Explorerで検証してみます。

もしダメだったら他の方法を考えなければなりません。
結果を報告しますので是非、またご指導をお願いしたいと思います。

繰り返しますが、ご助言はとてもありがたく感謝しています。
どうぞよろしくお願いします。

編集 削除
Mira  2007-11-08 15:38:25  No: 28254  IP: 192.*.*.*

Turbo Delphi for .NET / Explorerで検証しました。

Windows Formもあり無事モバイルで動作させることができました。
ただ、ボタンとかのコントロールのイベントとかを追加するたびに
「Self.Button1.Name」とかの記述が自動的に追加され、
その度DELETEしなければなりません。(.NETでサポートしていない?)

ShowMessageなども使えず、Delphi7と同じような機能と考えていましたが、
まるで違うもののような気がしています。
現段階でVPNでOracleデータベースとの接続を考えていますが難しそうです。

知識不足ですので、
Delphi for .NETでWindows Formを使用して開発するにあたっての
URLや参考になる図書を教えていただけないでしょうか。

よろしくお願いします。

編集 削除
DEKO  2007-11-08 21:30:47  No: 28255  IP: 192.*.*.*

>その度DELETEしなければなりません。(.NETでサポートしていない?)
.NET CFは.NET Frameworkのサブセットですが、
Delphi.NETのコード補完は".NET Framework"のものです。
よって、サポートしていないクラスメンバが補完されてエラーになる事があります(Compact Framework project preprocessorを使っていても)。

.NET CFの開発は
・.NETの名前空間(ネームスペース)を知る事。
・.NET Frameworkと.NET CFの違いを知る事。
に尽きると思います。

よって、".NET CFの開発"に関するサイトであれば、
言語がたとえC#であっても充分に役に立つと思います。

編集 削除