17r3は,v2004のストラクチャファイルを開くことができる最後のバージョンです。v17r4で開こうとすると「データベースストラクチャが無効です。バージョンが古すぎるか,ファイルを修復する必要があります」というエラーが返されます。これは仕様です。
Write Pro文書・画像・セクション・段落のボーダー(罫線)は,コンテキストメニュー,またはWP SET ATTRIBUTES
とwk border style
wk border width
の組み合わせで設定することができますが,テーブル全体や特定の行列のボーダーは設定することができません。これは仕様です。
ボーダーは,テーブル・行・列ではなく,セルの属性です。テーブル全体や特定の行列のボーダーする場合,下記のようにセルの集合を取得した上でWP SET ATTRIBUTES
を使用します。
$table:=WP Get element by ID($wp;"t1")
$cells:=WP Table get cells($table;1;1;MAXLONG;MAXLONG)
WP SET ATTRIBUTES($cells;wk border style;wk none)
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)
17r5では,テキスト(オブジェクト型やコレクション型のプロパティ値を含む)の比較と検索に使用されている International Components for Unicode, ICUライブラリがバージョン63
にアップデートされる予定です。v16およびv17のライブラリバージョンは 56
でした。ライブラリのアップデートに伴い,サポートされるUnicodeのバージョンも8
から11
に上がります。
Unicode 11では,66
個の絵文字が追加され,5
個のCJK(中日韓)統合漢字が追加されています。追加されたのは,新元素の中国語名に使用される3
文字(下記)
原子番号 | 漢字 | 名称 |
---|---|---|
118 | Og | オガネソン |
117 | Ts | テネシン |
113 | Nh | ニホニウム |
および独立行政法人情報処理推進機構の 文字情報基盤整備事業のリストに含まれている人名漢字等2
文字です。
加えて,全角の数字ゼロ(FULLWIDTH DIGIT ZERO
, U+FF10
)に斜めの線が入ったバージョンが異体字として追加されています。(異体字セレクタVS1
, FF10 FE00
)
参考資料: http://www.unicode.org/versions/Unicode11.0.0/#Migration
Rリリースは,バージョンアップに相当しないので,17.xのアプリケーションはストラクチャやデータを変換することなく,17r5で開くことができます。しかし,17r5では,ICUライブラリがアップデートされているため,文字・テキスト・オブジェクト型フィールドの再インデックス構築が発生し,17.xまたは17r4で開きなおすと再々インデックス構築が発生することになります。検証のため,17r5と17.xを頻繁に行き来するのであれば,空のデータファイルまたはインデックスが外されたストラクチャをあらかじめ用意しておくと良いでしょう。
OBJECT GET BEST SIZE
は,指定テキストを表示するために必要なオブジェクトの幅と高さ(最大幅を指定した場合)を計算するためのコマンドです。しかし,Windowsの場合,リストボックスのセルとテキスト入力エリア(変数またはフィールド)は,描画方法が違うため,一方のオブジェクトを用いて他方のベストオブジェクトサイズを正確に計算することはできないことに留意してください。これは仕様です。
テキスト入力エリアは, DirectWriteでレンダリングされているのに対し,リストボックスのセルは Windows GDIでレンダリングされています。
SDIモードでアプリケーションを起動した場合,パレットウィンドウ(Palette form window
)で表示されているダイアログは,タスクバー上でアプリケーションのウィンドウ(ドキュメント)としてカウントされないことに留意してください。たとえば,パレットウィンドウと標準ウィンドウ(Plain form window
)一緒に表示し,標準ウィンドウのほうを閉じた場合,アプリケーションが最前面にある間はパレットウィンドウが引き続き画面に表示されていますが,アプリケーションが最前面ではなくなると隠されてしまい,タスクバーにウィンドウのアイコンが1個もないため,アプリケーションが「消えた」ような状況になります。これは仕様です。
パレットウィンドウを補助的なウィンドウではなく,ドキュメントとして表示するのであれば,Palette form window
ではなく,Controller form window
を使用してください。