|
|
[サンプルコード]
【サンプルファイルの説明】
・Form1.crs(パッケージを利用するファイル)
・All_Package.crs(パッケージとして他のファイルをまとめるためのCRS)
・Keihi_Touroku.crs、Keihi_Sakujo.crs(Keihi_Packageを定義するCRS)
■サンプル
<Keihi_Touroku.crs>
Package Keihi_Package{
class Keihi_Touroku extends String{
}
Number flg;
}
<Keihi_Sakujo.crs>
Package Keihi_Package{
class Keihi_Sakujo extends Button{
Function OnTouch(e){
MessageBox("パッケージのテスト", "Test");
}
}
}
<All_Package.crs>
import "Keihi_Touroku.crs"
import "Keihi_Sakujo.crs"
Package All_Package{
}
<Form1.crs>
import "All_Package.crs";
Form Form1 {
Keihi_Sample.flg = 1; /* パッケージ名で修飾したオブジェクト */
Keihi_Sakujo mbButton1{
Title = "Keihi_Sampleパッケージで定義したKeihi_Sakujoクラスのボタン";
}
}
※複数ファイルで1つのパッケージを定義する場合の注意点
複数のCRSファイル内で同名の派生クラスを定義しないようにご注意ください。
後から読み込んだ定義ファイルの定義全体がロードされません。
<Keihi_Touroku.crs>
Package Keihi_Package{
class Keihi_Touroku extends String{
}
Number flg = 1000;
/* Keihi_Sakujo.crsで定義されている派生クラスが
重複して定義されている */
class Keihi_Sakujo extends Label{
Value = "ラベル";
}
}
<Keihi_Sakujo.crs>
Package Keihi_Package{
class Keihi_Sakujo extends Button{
Width = 100;
Height = 25;
Function OnTouch(e){
MessageBox("パッケージのテスト", "Test");
}
}
Number g_flg = 2000;
}
<All_Package.crs>
import "Keihi_Touroku.crs"
import "Keihi_Sakujo.crs"
Package All_Package{
}
<Form1.crs>
import "All_Package.crs";
Form Form1 {
Button mbButton1{
Title = "Keihi_Packageパッケージのflg変数、g_flg変数の参照";
Function OnTouch( e ) {
try{
MessageBox( "Keihi_Packageパッケージのflg変数の値は、"
+ str(Keihi_Package.flg) + " です" );
/* Keihi_Sakujo.crsはKeihi_Touroku.crsの後importされて
いるため、定義全体がロードされず、g_flgの値は参照で
きません */
MessageBox( "Keihi_Packageパッケージのg_flg変数の値は、"
+ str(Keihi_Package.g_flg) + " です" );
}catch( e ){
MessageBox( e.message );
}
}
}
}
CRSファイル形式のサンプルを
「Package定義サンプル(Package.zip)」
よりご利用いただけます。
|
|