階層化されたオブジェクトを配列として生成することができます。
例
Form frm {
Width = 800;
Height = 600;
Form fArray[3] {
X = 10;
Y = 10;
Width = 190;
Height = 100;
Border = $TRUE;
LayoutMargin = 2;
Button btn {
X = 10;
Y = 10;
Width = 170;
Height = 30;
Title = "button";
}
Button btnArray[3] {
X = 10;
Y = 50;
Width = 50;
Height = 30;
Layout = $HORIZONTAL;
LayoutMargin = 10;
Title &= str(Index + 1) + "番";
}
}
}
このような構造をもつ配列に対しても、Insert、Deleteメソッドにより、配列要素の操作を行うことができます。
例
frm.fArray[1].Delete();
を実行した結果の表示
例
frm.fArray[1].btnArray[2].Delete();
frm.fArray[0].btnArray.Insert(1);
を実行した結果の表示
配列化されたオブジェクトからGETメソッドにより、配列要素に対して別のCRSスクリプトをロードして実行することができます。
例
Form frm {
Width = 800;
Height = 600;
Form fArray[3] {
X = 10;
Y = 10;
Width = 190;
Height = 90;
Border = $TRUE;
LayoutMargin = 2;
}
f[0].Get("frm1.crs");
f[1].Get("frm2.crs");
f[2].Get("frm3.crs");
}
この例の場合、frm.fArrayは配列オブジェクトとなりますが、個別にロードされたCRSスクリプトに定義されているチェックボックスやボタンはfrm.fArrayの配列とは関連せず、個々の配列要素に固有のオブジェクトツリーに接続される事に注意してください。従って、frm.fArray.Insert()を実行しても、fArrayの新しい要素には何もオブジェクトは表示されません。