v16では,リスト型のサブフォームダブルクリックすると,FORM SET INPUT
で指定した入力フォームに切り替わりましたが,v17では常にデフォルトの入力フォームが使用され,FORM SET INPUT
で指定したフォームは使用されません。これは仕様です。以前の振る舞いはバグであり,意図的な設計によるものではありませんでした。サブフォームの内容は,OBJECT SET SUBFORM
で明示的に切り替えることができます。
追記: ビルド237123
以降,仕様が見直され,サブフォームに対してFORM SET INPUT
が使用できるようになりました。(ACI0099331)
オブジェクト型のプロパティは,フィールドや従来の変数とは違い,タイプが固定されていません(「強い型付け」)。C_PICTURE
で型が宣言されたピクチャ変数にNull
を代入した場合,変数の内容がクリアされますが,型は変わりません(CLEAR VARIABLE
またはpicture:=picture*0
と同じ)。対照的に,ピクチャ型のオブジェクトプロパティにNull
を代入した場合,プロパティは0
バイトのピクチャではなく,Null
になります。Write ProやORDAも同じ振る舞いになります。これは仕様です。
オブジェクト記法およびコレクション型がランゲージに追加されるまで,オブジェクト型の読み書きにはOB
で名前が始まるコマンドが使用されていました。OB
コマンドは廃止予定ではありませんが,オブジェクト記法(ドット記法とブラケット記法)をサポートしていないことに留意する必要があります。たとえば,下記の例で[Person]family
はオブジェクト型のフィールドですが,コードを実行するとエラーが返されます。これは仕様です。
OB SET ARRAY([Person]family.children[0];"ID";$IDs)