連載
» 2011年06月20日 00時00分 公開

元祖リッチクライアント、Biz/Browser開発入門(前編):Android対応も視野に入れる、Biz/Browserって何? (3/3)

[奥田健一郎,株式会社エヌデーデー]
前のページへ 1|2|3       

CRSでイベントハンドラを作成

 画面上のTextBoxに入力した値もメッセージボックスに出力してみます。CRSはイベントドリブン型言語であるため、イベントハンドラを用意します。

 Buttonクラスのオブジェクトが押下されたときに発生するイベントは「Touch」イベントです。イベントハンドラは、このイベント名の頭に「On」を付けたFunctionを対象となるオブジェクトの定義内部に実装することで定義できます。

Function OnTouch (e){
 
    実行したい処理
 
}
イベントハンドラの構文

 引数の「e」はイベントオブジェクトです。イベントオブジェクトには、イベントの名前やイベントの種類、イベントの発生元、その他、各イベント特有のオブジェクトメンバが格納されています。

 以下はイベントハンドラのソースコードです。

    Button Button1 {
        X = 108;
        Y = 42;
        Width = 120;
        Height = 24;
        Title = "Hello!!";
 
        Function OnTouch(e){
            /* メッセージボックス出力 */
            //.MessageBox("Hello, World! Hello," + ^.TextBox1.Value);
        }
    }

CRS言語でのコメントと「Rootオブジェクト」

 CRS言語でのコメントは、JavaScriptなどと同様に「/* 〜 */」が使えますが、JavaScriptの1行コメント「//」は予約語となっており使用できません。「//」はCRS言語ではRootオブジェクトを表します。

 Biz/Browserのシステムで最上位となるオブジェクトは必ず「Rootオブジェクト」となります。また、RootオブジェクトはDisplayオブジェクトを継承しています。

 サンプルでは、このDisplayオブジェクトのMessageBoxメソッドを使用してメッセージボックスを出力しています。

 Displayオブジェクトを継承しているオブジェクトは、他にもたくさんありますが、いろいろなオブジェクト上で個別にオブジェクトパスを指定すると、階層が変わったときに動作しなくなるため、Rootオブジェクトを絶対パスで指定して使用するのが一般的です。

 逆に、同じ画面内のメンバにアクセスする場合は、Rootとの間に他の画面が挟まるなどして、階層構造が変化する可能性があるため、相対パスで指定します。その際は、1つ上の階層を参照する「^」「this」指定子を用います。

Biz/Browserアプリを実行してみよう

 それでは、作成したプログラムを実行してみましょう。

クライアントでの実行

 ツールバーにある、赤い再生ボタンは、現在開いているファイルをデバッグ実行します。

 青い再生ボタンは、プロジェクトのスタートアップに設定されているCRSファイルからデバッグ実行します。今回は作成したフォームのCRSを開いた状態で赤い再生ボタンを押してください。

実行結果 実行結果

 これはBiz/Designerを使用しなくても実行できます。今回作成したプロジェクトを格納したHelloWorldフォルダをエクスプローラから開いてみてください。

 その中にあるForm1.crsというファイルをダブルクリックしてください。これでBiz/Designerからの実行と同じ結果が得られたと思います。

 これは、CRSファイルにひも付けられているBiz/Browserの実行環境アプリが起動して、その上でCRSファイルに記述された処理が実行されるのです。

サーバでの実行

 ここで読者の皆さんの中に「あれ?」と思った方もいると思います。この状態は完全にクライアントの世界だけで動作しており、全然Webアプリケーションになっていませんよね。

 実際は、このCRSファイルをWebサーバ上に配置して、クライアント側のBiz/BrowserからアクセスすることでCRSを取得し実行します。

 今回は同じPC内にIISサーバを立てて、そのホーム仮想ディレクトリ「C:\Inetpub\wwwroot」に、先ほど作成したForm1.crsを配置したとします。

 これをBiz/Browserからアクセスし実行するには、まずスタートメニューから[AXISSOFT]→[BizBrowserV]→[BizBrowserV]を起動します。アドレス入力欄に「http://localhost/Form1.crs」と入力して右側の矢印ボタンをクリックします。

 先ほどと同じ実行結果が得られたはずです。これでWebアプリケーションの完成です。

次回は、Biz/Browser Vの新機能のサンプル

 今回の例ではBiz/Browserでは直感的なGUI操作で画面レイアウトが作成できることと、その内部処理はイベントドリブン型であることが理解できたと思います。今回のサンプルのソースコードは、こちらからダウンロードできます

 次回は、Biz/Browser Vの売りの1つで、高機能とされている新しいスプレッドシートコントロールのサンプルアプリを作成してその機能を見ていこうと思います。

 またBiz/Browserには、「Bizの宝箱」という開発者向けの情報が集まった技術サポートサイトがあるので、参考にしてみてください。


@IT関連記事

結局、RIAはどれを使うべきなのか?
いま注目されている“RIA”に関しての入門連載です。RIAの概要と主要なRIA技術たちを紹介し、サンプルアプリケーションも作ってそれぞれを検証します

国産ソフトウェアの可能性と日本の若者への期待
リッチクライアントベンダ・インタビュー(11) リッチクライアントという言葉への思いや業務システムにおける日米市場の違い、日本の帳票や外字対応、そして若者への期待
リッチクライアント & 帳票」フォーラム 2009/4/16

新時代の業務用モバイルRIAを考える
iPhoneやAndroid、ネットブックの登場で盛り上がるモバイル業界。本特集では「業務でのモバイル利用」において、どの端末やプラットフォームを検討すべきか、また使い勝手において重要なUIのあり方などについて考察する
Smart & Social」フォーラム

Biz/Browserの印刷機能を強化する帳票生成エンジン
帳票ベンダ・インタビュー(15) 40万クライアントの導入実績を持つアクシスソフトのBiz/Browserに、Javaのクラスファイルとして提供される帳票生成エンジンが登場した
リッチクライアント & 帳票」フォーラム 2007/5/17

変ぼうを始めたリッチクライアント・マーケット
リッチクライアントベンダ・インタビュー(1) リッチクライアントのマーケットはミドルレンジでさらに拡大するという。リッチクライアントのエバンジェリスト、山形氏に聞いた
Web Client & Report」フォーラム 2004/10/27

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。