<複合オブジェクトの編集>レイアウトの構築に用いる手法を、複合オブジェクトの構築にも利用できます。複合オブジェクトを新たに作成するには[ファイル]メニューの[新規]を選択し、[複合オブジェクトパッケージ]を選びます。パッケージ名は、作成する複合オブジェクトが格納されるパッケージの名前を指定します。必要に応じてレイアウトコンテナを選び、クラス名を指定します。[新規複合オブジェクト]を選択します。選択すると、レイアウトを複合オブジェクトに変換できます。このオプションは、レイアウト作成から開始する場合に特に便利です。このレイアウトを複合オブジェクトとして後で実際に利用できます。通常の、VLEのレイアウト画面が開きますが、[レイアウトツリー]のルート項目が[複合オブジェクト]になっている事が確認できます。オブジェクトを作成し保存します。(2)VLEへの登録(VLEパレットへの登録)まず複合オブジェクトをVLEに登録するための定義ファイルを作成します。IDEの[ツール]メニューから[VLE機能拡張エディタ]を選択します。VLE機能拡張エディタが起動します。VLE機能拡張エディタの[ファイル]メニューから[新規]を選択します。VLE機能拡張ファイル名を指定します。(上記(1)のステップで作成したファイル名とは異なります。機能拡張パッケージの名前は、上記で指定したVLE機能拡張ファイル名に対するパッケージの名前になります。OKボタンを押すとVLE機能拡張エディタが開きます。[インポートする実行パッケージ]の[追加]ボタンを押してください。以下のようになります。パッケージ名には、複合オブジェクトが格納されているパッケージを指定してください。次に[定義するパレットボタン]の[追加]ボタンを押して下さい。[実行時タイプ]ドロップダウンリストから、登録する複合オブジェクトを選択してください。以下の項目はオブジェクトの内容に合わせて設定してください。このオブジェクトはテキストを含みます。このオブジェクトはコントロールです。このオブジェクトは複合オブジェクトです。設定するすると以下のような画面になります。作成した複合オブジェクトのVLEへの登録の詳細を設定します。設定が完了したら保存して終了してください。これで複合オブジェクトをVLEに登録する準備が出来ました。次は、VLEパレットに登録します。VLEの[表示]から[パレット機能拡張]を選択します。[新規]ボタンを押して、複合オブジェクトが格納されているパッケージファイルを選択すると、完了です。IDEには開発効率を向上させるための様々なショートカットキーがあります。代表的なものを抜粋しましたのでご紹介します。現在のブロックの末尾に移動しますブロック外の場合、ファイルの末尾に移動しますこの他にも多数ショートカットキーがありますので、是非探してみてください。下記のリンクも参考になりますのでご参照下さい。6.0からエディタに行数を表示する機能が追加されました。初期設定では表示されていませんので、設定手順をご紹介します。1.メニューから「編集(E)」→「ユーザー設定(N)」を選択します。2.「ユーザー設定」ダイアログの「全般」タブを開き、「行数を表示(n)」という項目を選択します。3.以下の様に、エディタ左端に行数が表示されていることが確認できます。通常アプレットと独立型アプレットの違いの理解Curlのアプリケーションは「独立型アプレット」と呼ばれるCurlウィンドウで起動するものと「通常アプレット」と呼ばれるInternetExplorerなどのブラウザ上で表示されるものと大きく分けて2つあります。以下に機能的な特徴を説明します。通常アプレットInternetExplorerなどのブラウザ内に表示されます。ブラウザで表示されるため[戻る]ボタンや[進む]ボタンを押した場合は一時停止状態になります。独立型アプレットCurl独自ウィンドウとしてユーザーに表示されます。ないため個別に生成して表示する必要があります。ブラウザで表示されるWebアプリケーションのように一時停止状態になることはありません。明示的に呼び出す必要があります。プレフィックスを使用する必要があります。開発の手順やコードは基本的に同じですが、通常アプレットの場合はブラウザの制約があるため(戻るボタンや×ボタンなど)アプリケーションの整合性を高く保つには独立型アプレットをお勧めしています。IDEを起動してアプレットを作成しよう。Curl/IDEを起動してください。すると、下の図のように表示されます。IDEを移動した状態では、画面は下図のように3つのペインに分かれたレイアウトで表示されます。このレイアウトは自由に変更することができます。通常アプレットの作成IDEの[ファイル]メニューから[新規]を選択します。開始ページの[新しいファイルを作成]をクリックします。すると、下図の[新規]ダイアログボックスが表示されます。[アプレット]を選択し、[ファイル名]の欄に「start.curl」と入力します。[ディレクトリ]の欄には「c:curlapplet-lesson」と指定し、[OK]ボタンをクリックします。結果は下図のようにIDEのプロジェクトペインにツリーが表示されます。[その他のファイル]をクリックすると[start.curl]が表示されます。IDEのプロジェクトペインの[start.curl]をダブルクリックします。エディタに下図のようにstart.dcurlファイルの内容が表示されます。ファイルに書かれているはじめの2行は宣言文です。!」を記述して実行していきましょう。画面の左上の[保存ボタン]をクリックしてファイルを保存します。[実行]ボタンをクリックして実行します。Curl!」と表示されれば、成功です。独立型アプレットの作成IDEの[ファイル]メニューから[新規]を選択します。開始ページの[新しいファイルを作成]をクリックします。すると、図2の[新規]ダイアログボックスが表示されます。[独立型アプレット]を選択し、[ファイル名]の欄に「start.dcurl」と入力します。[ディレクトリ]の欄には「c:curlapplet-lesson」と指定し、[OK]ボタンをクリックします。結果は下図のようにIDEのプロジェクトペインにツリーが表示されます。その他のファイルをクリックすると[start.dcurl]が表示されます。IDEのプロジェクトペインの[start.dcurl]をダブルクリックします。エディタにstart.dcurlファイルの内容が表示されます。ファイルに書かれているはじめの2行は宣言文ですが、先ほどの通常アプレットの場合と違って以下のように書かれています。}}独立型アプレットは冒頭でも説明しましたが通常アプレットと違い表示するためのViewを個別に作成する必要があります。その為、テンプレートとしてIDEを使用するとViewのコードが記述されています。部分はViewが閉じられたときの処理(注1:イベント処理)が書かれており、exitプロシージャを呼び出してプロセスの終了を行う処理が書かれています。※注1:「イベント処理」について詳しくは「逆引きリファレンス-ユーザインタフェース-イベントの作成」を参照ください。!」を書くだけでブラウザに表示されましたが、独立型アプレットの場合はViewの子として以下のように記述します。画面の左上の[保存ボタン]をクリックしてファイルを保存し、実行]ボタンをクリックして実行します。Curl!」と表示されれば、成功です。IDE開発編プロジェクトの作成からマニフェスト・パッケージ・クラスの作成1.Curlアプリケーションのファイル構成の理解Curlのアプリケーションは1つのアプレットファイルとその他のファイルによって定義されたコンテンツから構成されることが一般的です。以下にファイルの拡張子とともに内容を説明します。start.curlです。﻿start.curlファイルは他のファイルによって定義されたコンテンツを組み入れることができます。.curlはブラウザ上で表示されますが、dcurlは独立型アプリケーション(Curlウィンドウ)として実行できるファイルです。.mcurlアプレットファイルやイメージ等のリソースの場所を指定するマニフェストファイルです。.scurlCurlパッケージやコンテンツフラグメントを含む1つ以上のソースファイル。その他のリソースイメージファイルやテキストファイルのような、その他のファイルで定義されたコンテンツです。.scurlファイルを作ることをお勧めします。複数の小さなファイルを作成したほうが、メンテナンスが容易になります。種類のファイルがあります。統合開発環境(Curl/IDE)が生成するファイルです。2.IDEを起動し、新規プロジェクトを作成しよう。IDEへのショートカットをダブルクリックしてIDEを起動してください。すると、下の図のように表示されます。IDEを移動した状態では、画面は図1のように3つのペインに分かれたレイアウトで表示されます。このレイアウトは自由に変更することができます。IDEの[ファイル]メニューから[新規プロジェクト]を選択します。開始ページの[新規プロジェクトを作成]をクリックします。すると、下図の[新規]ダイアログボックスが表示されます。[アプレットプロジェクト]を選択し、[マニフェスト名]の欄に[TEST-1]と入力します。[ディレクトリ]の欄には「c:\curl\project-lessen\applet」と指定し、[OK]ボタンをクリックします。結果は下図のようにIDEのプロジェクトペインにツリーが表示されます。Curlはプロジェクトという単位で関連するリソースを管理します。最後にブラウザにテキストを入力して表示してみましょう。IDEのプロジェクトペインの[start.curl]をダブルクリックします。エディタにstart.curlファイルの内容が表示されます。ファイルに書かれているはじめの5行は宣言文です。この続きにソースコードを記述します。!」と書いてみましょう。画面の左上の[保存ボタン]をクリックしてファイルを保存します。[実行]ボタンをクリックして実行します。Curl!」と表示されれば、成功です。3.マニフェストファイルを使用してイメージを追加しよう。マニフェストとはアプレットファイルやイメージ等のリソースの場所を指定するためのファイルです。アプレットファイルから呼び出されるコンテンツの場所(パス)が変更された場合にアプレットファイル内に直接パスが記述してあると、そのアプレットファイルを変更しなくてはならなくなり管理が大変です。アプリケーション内で使用するコンテンツの場所やバージョンなどはなるべくマニフェストで管理しましょう。マニフェストにコンテンツのパスを追加するのは以下のようにします。[プロジェクト]から[ファイルリソースの追加]を選択します。任意の画像ファイルを選択して[OK]ボタンをクリックします。下図のようにプロジェクトペインにイメージファイルが追加されます。マニフェストファイルを見てみましょう。プロジェクトペインの[test-1]をダブルクリックします。するとマニフェストファイルに記述された内容がエディタに表示されます。下図のように追加したイメージファイルのパス情報が記述されています。アプレットファイルからマニフェストで管理されたイメージファイルにアクセスするには以下のように記述します。,.....}このよう記述するだけでイメージファイルにアクセスできます。アプレットファイルにイメージを挿入して表示してみましょう。!」の下に下図のように記述します。画面の左上の[保存ボタン]をクリックしてファイルを保存し、[実行]ボタンをクリックして実行します。Curl!」ともにイメージが表示されれば、成功です。4.パッケージを作成して機能を読み込もう。「パッケージ」には論理的にまとめられたコード群が格納されます。他のアプレットファイルやパッケージから“インポート”してパッケージ内の定義を使用します。いわゆる“クラス”などはパッケージ内に定義することをお勧めします。パッケージを作成してみましょう。[ファイル]メニューから[新規]を選択します。[ディレクトリ]の欄に「c:\curl\project-lessen\applet\test-package」と指定し、[パッケージ名]に「SAMPLE.TEST.PACKAGE」と入力して[OK]ボタンをクリックします。結果は下図のようにIDEのプロジェクトペインのツリーに先ほど入力したパッケージ名表示されます。[プロジェクトペイン]で「SAMPLE.TEST.PACKAGE」をダブルクリックします。package}”はパッケージファイルの宣言部分です。中にプロシージャ定義を記述してみます。※プロシージャについては「Curl開発者ガイド-基本概念-構文-プロシージャと引数」を参照ください。アプレットファイルでパッケージをインポートしパッケージ内のプロシージャを図20のように使用してみましょう。SAMPLE.TEST.PACKAGE}の部分はパッケージからパッケージ内の定義情報を読み込む部分です。*の意味はパッケージ内のすべての意味でワイルドカードと同じ意味です。パッケージ内の特定の定義などを読み込む場合は*の部分を特定のクラス名や定義名にします。(サンプルの場合はTestClass)下の{test-proc}の部分はパッケージ内のtest-procプロシージャを呼び出している部分です。画面の左上の[保存ボタン]をクリックしてファイルを保存し、[実行]ボタンをクリックして実行します。ブラウザが起動し、そこに「パッケージ内のプロシージャが実行されました!」と表示されれば成功です。IDE開発編アプリケーションのディプロイメントここでは、作成したアプリケーションのディプロイメントの方法について紹介します。プロジェクトの作成からマニフェスト・パッケージ・クラスの作成で作成したプロジェクトのフォルダ構成を少し変えたものをディプロイメントしてみましょう。プロジェクトのダウンロードをします。IDEを起動し、ダウンロードしたプロジェクトを解凍して開きます。(project.cprjをダブルクリックでプロジェクトは開きます。ディプロイ先を設定するために「プロジェクト」→「ターゲット設定の編集」をクリックします。「ディフォルト」を選択し、設定ボタンをクリックします。※追加ボタンをクリックし、複数の設定を保存する事も可能です。ディプロイ先を指定するために、「ロケーション」に任意のフォルダパスを設定し、「OK」ボタンをクリックします。既定ではプロジェクトのマニフェストファイルがあるフォルダの中に、deploy-defaultというフォルダが作成され、そこにプロジェクトがディプロイされます。今回はフォルダ名をmainに変更します。「プロジェクト」→「コンポーネントターゲット設定の表示」をクリックし、どのような形式で各ファイルがディプロイされるか表示します。パッケージ(ここではSAMPLE.TEST.PACKAGEを指します)のディプロイの形式を編集するためにパッケージの「コピー」と表示されている部分をクリックします。パッケージをプリプロセス(pcurl化)してみましょう。「ターゲットにpcurlを生成」、「全てのパッケージに新しい設定を適用」を選択することにより、全てのパッケージをプリプロセス化できます。(今回は1つしかパッケージがありませんが。)プリプロセスを行うことで以下のようなメリットが得られます。パッケージのロード時間が短縮します。サーバから送られるコードのサイズが縮小します。コードを人間の目からは解読できないフォーマットに変換することができます。パフォーマンス面、セキュリティ面からプリプロセスはいいことだらけと言えますね。「コピー」と書かれていた部分が「pcurl」に変わります。(*プリプロセス化できるものはパッケージのみです。上記9の準備が完了したら「プロジェクト」→「ディフォルトのディプロイメント」を選択します。「ディフォルト」の部分は4.でターゲット設定した名前になっています(今回は変更していないのでディフォルトのままです)。成功しますと下記のようなメッセージが表示されます。ディプロイメントされたフォルダ(4.で任意に設定したロケーション、今回ならばmainという名前のフォルダ)が作成されていることを確認します。mainフォルダの中のstart.curlを実行し、動作することを確認してください。実際はこの後、main以下のフォルダ・ファイルをWebにアップします。いかがだったでしょうか?後日「パスを使用したディプロイメント」の説明をしたいと思います。IDEでのデバッグ機能を有効にするための設定について説明します。パネル」を選択します。続いて「デバッガ」タブを選択します。「ロケーションの追加」ボタンをクリックすると、「デバッグするURLの追加」ダイアログが開きます。「Urlプレフィックスまたはディレクトリパス」にデバッグ対象とするアプレットが配置されているフォルダパスを指定します。ロケーションに「file:」と指定すると、ローカルのファイルシステム上に存在する全てのアプレットがデバッグ対象となります。「OK」ボタンを押し、「デバッグするURLの追加」ダイアログを閉じると、白枠内に、指定したフォルダパスが表示されます。IDE開発編Curl基本文法入門Curlの基本文法について、ご説明したいと思います。