Windows版のマルチスタイルテキストのコンテキストメニューでフォントサイズ(たとえば15
)を選択した場合,ソースコードのHTMLには別の数値(たとえば20pt
)が挿入されます。これは仕様です。 Macでは,フォームのフォントサイズとspan
に書き込まれるフォントサイズの値が一致しますが,Windowsでは72/96
倍の値になります。span
には,4Dのフォントサイズではなく,システムのフォントサイズが記録されるようになっているためです。
フォームのDPIは,プラットフォームに関係なく72
です。フォームエディター等でフォントサイズを20
(つまり20px
)に設定した場合,システムのDPIが72
であるMacでは20pt
のテキストが表示されますが,システムのDPIが96
であるWindowsでは15pt
のテキストが表示されます。マルチスタイルテキストのソースコードには,システムのフォントサイズ(Windowsであれば15pt
)が記録されることになります。
v12でマルチスタイルテキストが追加されたとき,ソースコードにシステムのフォントサイズを記録することにしたのは,明らかに悪い決定でした。クロスプラットフォームの振る舞いではないからです。しかし,過去のバージョンで作成されたアプリケーションに配慮し,現在も上述したような仕様となっています。
Googleのブログで説明されているように,組み込みレンダリングエンジンにブラウザの操作を模倣させてGoogleサービスにログインすることはできなくなりました。Googleユーザー認証には,実際のブラウザを使用するか,OAuth 2.0の手順を踏む必要があります。WebエリアでGmailなどのサービスにログインを試みた場合,「このブラウザまたはアプリケーションは安全ではない可能性があります」というエラーメッセージが表示され,先に進むことができません。これは仕様です。
Write Proエリアのツールバーウィジェット(WP_Toolbar
)は,内部的にOBJECT Get pointer
でサブフォームコンテナのバインド変数を参照しているため,サブフォームのデータソースに変数ではなくオブジェクトのプロパティ(例:Form.wp
)が設定されている場合,ポインターの逆参照に失敗し,初期化を正常に完了することができません。Write Proエリアには,変数(例:wpArea
)を使用する必要があります。これは仕様です。
ORDAにおける楽観的レコードロックは,内部的なスタンプに支えられていますが,トランザクション中に作成されたエンティティのインスタンスは,すべて同一のレコードからコピーされるので,スタンプの比較による排他制御は意味をなしません。
トランザクション中でなければ,dataClass.get()
のようなコマンドで同一レコードから複数のエンティティを作成した場合,一方をentity.save()
した後に他方をentity.save()
しようとすると「スタンプが変更されたので保存できない」というエラーが返されますが,トランザクション中であれば,同じことをしてもエラーが返されずに両方のエンティティが保存できます。これは仕様です。
18r4以降,ODBCドライバーのインストール中にシステムエラー126
が返されるかもしれません。エラーの内容は「4DODBC.dllがみつかりません」というものです。そのような場合,Visual Studio 2019の再配布パッケージ(vcredist
)をインストールしてみてください。
プロジェクトモードで作成したリストボックスは,デフォルトでカラム自動リサイズが有効にされており,カラムの最小幅は0
,最大幅は32767
となっています。そのため,リストボックスを水平方向に限界まで縮小してから拡大した場合,1個を残してカラムが表示されなくなるかもしれません。カラム自動リサイズが機能するためには,リストボックス特有のプロパティが適正にセットされている必要があります。
プロジェクトモードで作成したフォームのマーカー位置は,バイナリモードの場合とは違い,デフォルトですべて0
となっています。Print form
でフォームをそのまま印刷した場合,白紙のページが出力されるのはそのためです。
POP3 Transporter
またはIMAP Transporter
を使用してメールを受信する場合,結果はサーバー設定に左右されることに注意する必要があります。
たとえば,Microsoft Exchangeのサーバー設定でメッセージ取得形式がTextOnly
に設定されている場合,HTMLメールをトランスポーターまたはInternet Commandsの同等コマンドで取得することはできません。この設定は,モバイル機器などで使用されているExchange ActiveSyncとは別です。