Mobile Demoのimagesフォルダの参照
Mobile Demoでは背景やイメージボタンに『C:\Program Files (x86)\Magicxpa\Studio 4.8\SampleProjects\Mobile Demo\Images』の画像を参照していると思われますが、『C:\Program Files (x86)\Magicxpa\Studio 4.8\SampleProjects』のMobile DemoフォルダをDドライブにコピーして%WorkingDir%が『D:\Mobile Demo\』の環境で実行すると背景やイメージが一切表示されなくなります。
プログラム#4『Menu (Local)』の背景のパスや式を一旦消して、背景を白くしてから、直接背景を『D:\Mobile Demo\Images\background.jpg』と指定するとフォームデザイナ上は表示されますが、実行するとやはりイメージが取得できずに真っ白になります。
何故、このような事をしているかというと、試しにRIA Server 4.8にMobile Demoの実行環境を構築してみたらイメージが取得できず真っ白になったので調査している所です。
-
HRTさん、
RIAではファイルへのパス設定はとてもデリケートです。論理名テーブルでの実際のパスの記述と、個々のタスク内でのパスの記述を示していただけると分かりやすいかと思います。
-
『オフラインアプリケーションの開発』PDFの『オフライン使用のためにイメージをダウンロード』を読むと意味がわかりました。ServerFileToClient()でイメージをクライアントに取ってこないとだめみたいです。
ちなみに今、RIAモバイルのオフラインアプリを作ろうとしている所ですが、開発版からオフラインアプリ生成し放題のような気がするのですが、制限とかないのでしょうか。RIAでいう所の開発版はリクエスト5000回までみたいな感じで。iPadだとwifiの接続先が変わるだけでオフラインモードが起動しない気がします。
とはいえ、業務的にオフラインアプリで入力したデータをサーバ経由で同期する必要はあるので、サーバ版は必要になります。
全て試行錯誤中なので話半分で聞いてください。
ありがとうございました。
-
ちょっと前までのMagicでは画像のパスを物理パスで指定する場合、それがサーバのルートから見たパスなのか、クライアントのルートから見たパスなのかで行き違いが生じることが多かったために、IISのエイリアスから見たパスを使用するのが常套手段だったのですが、今のMagicはパスを指定するときに「サーバ」側のパスか、あるいは「クライアント」側のパスかを明示的に指定することができるようになったので、たいへん楽になりました。その画像を下に添付します。

-
クライアントに転送するのではなくて、直接サーバからロードするはずです。RIAでは、この要望がかなり多かったみたいです。
-
ヘルプの意味はおそらく、「画像データをXMLデータとしてクライアントに送信する」というような解釈なんだと思います。
-
失礼、XMLに画像データが含まれているのではなくて、サーバ側のパスをXMLで送ってきているだけですね。
-
イメージコントロールに定義するのはいつもBLOB型で、データベースから直接取って来てたので、苦労した事は無かったです。間違った使い方なのでしょうか。皆さんは普通、写真を保存する場合、ファイルサーバやWebに保管するのでしょうか。後者が圧倒的に多いような気がして、いつもどちらにしようか迷います。バックアップの管理する場所も増えますし。
今回の問題はフォーム背景やイメージボタンの取得方法で、カラーやフォントのように、初回のオンラインの時にMagicがキャッシュしてくれると勝手に思ってたので、トラブってしまいました。
-
BLOBでDBに保存する方法は私も一時、やっていたことがあるのですが、データベースが異様に肥大化して重くなるし、画像を毎回保存する手間も面倒で結局やめてしまいました。ファイルを直接参照する方法は、見かけ上、エンジンへの負荷が大きくなるような気がするのですが、これがなんと、期待以上のパフォーマンスを見せてくれています。
-
話は逸れますが、RIAの話題が増えるのはいいことですね。私は、MagicのRIAは世界最高レベルの完成度だと思っています。周りは聞く耳を持ちませんが(苦
-
そうですね、裏の仕組みをわかってるとクラサバに比べてクライアント側とネットワークに負荷からなくてよいです(合ってますか?)。いつかはRIAとエンタープライズサーバの組み合わせで、SQL埋め込み無し、ストアドなしのアプリを、と思ってます。
サインインしてコメントを残してください。
コメント
10件のコメント