v20では,ACI0103964の修正に伴い,Open form window
の振る舞いが調整されました。
過去のバージョンでは,コマンドで表示したフォームに入力オブジェクトが配置されていた場合,そのデータソース(変数または式)が評価されました。ウィンドウサイズを正しく計算するためには,フォームオブジェクトの位置やサイズを解析する必要があり,入力オブジェクトであれば,データソースの型を知る必要があるためです。
とはいえ,ウィンドウを描画する時点でデータソースが評価されることは想定されていないかもしれません。たとえば,Form
などのオブジェクトが存在する前提のメソッドはエラーを返すことになります。修正により,入力オブジェクトのサイズはデータソースを評価することによってではなく,式の型(dataSourceTypeHint
)を参照することによって決まるように仕様が見直されました。今後,式の型が正しく設定されていない場合,ウィンドウサイズが変わってしまう可能性があります。一例として,ピクチャー型の入力オブジェクトはテキスト型とはボーダーのデザインが違っているため,正しくレンダリングされるためには,式の型もピクチャーに設定されている必要があります。
過去バージョンで作成されたフォームとインタフェースの一貫性を保つため,Mac版では高さが22
を超えるプッシュボタンのスタイルがベベルに切り替わります。システム側でサイズが指定されているそれぞれのプッシュボタンとは違い,ベベルスタイルは高さに制約がないためです。macOS 11には,デフォルトボタンまたはプッシュしている間(トラッキング中)にベベルボタンがハイライトカラーに変化しない不具合があります。この問題はmacOS 12および13で修正されているようです。Macでおおきなボタンを表示したい場合,プッシュボタンの高さを21
か22
程度を上限にするか,別のボタンスタイルを使用することが勧められています。
v19 LTSのシステム版のWebエリアは,Web viewを採用しているため,オペレーションシステムのデフォルトブラウザがEdgeであっても,JavaScriptのwindow.navigator.userAgent
は”Microsoft Edge Legacy”を返します。つまりブラウザ名でWindows 11検出することはできません。これはMicrosoft EdgeをInternet Explorer互換モードで実行したときと同じ動作であり,仕様です。v19r5以降はMicrosoft Edge WebView2を採用しているため,”Edge on Windows 11”が返されます。
v20では,ボタン・ラジオボタン・チェックボックスの実装がリニューアルされ,「3Dボタン」に統合されました。OBJECT Get typeをチェックボックスに対して実行した場合,Object type checkbox (25) ではなく Object type 3D checkbox (26) が返されることになります。これは仕様です。
Windows版のシステムWebエリアはMicrosoftのレンダリングエンジンを使用しており,その挙動を踏襲します。コマンドのWA SET URL FILTER
はナビゲーションをフィルターするコマンドですが,HTTPリクエストの送信をブロックすると保証されているわけではないことに留意してください。Microsoft Edge WebView2のドキュメントに述べられているとおり,NavigationStarting
イベントでフラグをセットしてGETをキャンセルした場合,ページは遷移せず,ナビゲーションが中止されてNavigationCompleted
イベントにステータスコードが返されますが,GET
リクエストはすでに送信された後かもしれません。これは仕様です。
上下矢印キーでポップアップ/ドロップダウンメニューの項目をハイライト選択した後,escape キーで操作をキャンセルした場合,Windowsでは On Data Change イベントが発生します。macOSでは発生しません。これは仕様です。Win32 APIでは,上下矢印キーでメニューの項目をハイライト選択したタイミングで入力イベントが発生します。escape キーはメニューを閉じますが,それまでの操作が取り消されるわけではありません。
数値フォーマットを文字列に適用した場合,桁区切りや小数点は特別なプレースホルダーとして処理されません。たとえば12345678
という数値に"####,####"
というフォーマットを適用した場合,桁区切りにピリオドを使用するロケールでは1234.5678
が返されますが,"12345678"
という文字列に同じフォーマットを適用した場合,1234,5678
が返されます。これは仕様です。
4D Writeや4D Viewのライセンスを保有している状態でCHANGE CURRENT USER
を実行し,拡張ライセンスのアクセス権を持たないユーザーに切り替えた場合,自動的にライセンスが解放されるわけではありません。ライセンス数が同時接続ユーザー数よりも少ない場合,ユーザー&グループのアクセス権を設定し,ログイン時にライセンスを配分することが必要です。必要なときにライセンスを使用し,用が済んだらライセンスを返却するといった運用はできません。これは仕様です。