4D 20でストラクチャファイルをプロジェクトモードに変換した場合,Windows版の過去バージョンで作成したフォームの入力エリアに表示した文字の末端(特に数字など丸みのある文字の曲線部分)が欠けてしまうことがあります。
4Dは,19r4以降,高解像度ディスプレイに対応しています。これはGDIスケーリング(画像や文字サイズを引き伸ばすことで高解像度ディスプレイに対応する便宜的な仕組み)ではなく,テキストのレンダリングをGDIからDirectWriteに移行することによって実現した本格的な対応です。
GDIを使用していた過去バージョンで作成されたフォームを4D 20のDirectWriteモードで表示した場合,まったく同じようにテキストがレンダリングされることはありません。
バイナリモードには互換性オプションの「フォームでのテキストレンダリングではDirectWriteを使用する」が用意されていますが,プロジェクトモードではこのオプションが表示されません。過去バージョンで作成されたバイナリモードのフォームを4D 20に変換した場合,このオプションを有効化することは任意となっていますが,バイナリモードのフォームを4D 20でプロジェクトモードに変換した場合,このオプションは強制的に有効化されます。アップグレードの原則は「互換性を重視」ですが,プロジェクトモード変換の原則は「最新の仕様に移行」だからです。
もし,どうしても過去バージョンと同じようなテキストのレンダリングを希望し,高解像度ディスプレイ対応を諦めても良いのであれば,直接,settings.4DSettings ファイルを編集することができます。
<?xml version="1.0" encoding="UTF-8"?>
<preferences stamp="…">
<com.4d>
<database>
<misc win_form_text_directwrite="false"/>
</database>
</com.4d>
</preferences>
ただし,4D 19 R4以降は全体として「高解像度ディスプレイ対応アプリケーション」なので,高解像度ディスプレイではフォームの表示が不自然になるかもしれません。その場合,4D.exeと同階層のResources フォルダーにあるinfo.plist ファイルを編集し,高解像度ディスプレイ未対応当時の動作に戻すことができます。
<key>WinDPIAwareness</key>
<string>0</string>
いずれも暫定的な措置であり,GDIモードが将来的にサポートされるわけではありません。過去バージョンで作成したフォームの入力エリアに表示した文字の末端(特に数字など丸みのある文字の曲線部分)が欠けてしまう場合,そのような入力エリアのフォントやサイズを見直すことが勧められています。
それぞれのモードでテキスト入力に数字を表示しています。プロパティは下記のとおりです。
MS Pゴシック
13
6
および9
の左側が欠けていることに気づきます。
スタイルシートのフォントサイズを変更します。オブジェクトの高さは自動的に調整されます。
16
20
スタイルシートのフォント名をMS Pゴシック
ではなく,よりモダンなものに変更します。
游ゴシック
macOS 15 Sequoia以降,「プライバシーとセキュリティ」設定でローカルネットワークへのアクセスを許可するアプリを指定できるようになりました。そのため,4Dまたは4D Serverを起動した後,「ローカルネットワーク上 のデバイスを見つけることを許可しますか?」というアラート画面が表示されることがあります。
ローカルネットワーク操作とは,ブロードキャスト機能を有するネットワークインタフェースに関連づけられたインターネットプロトコルネットワークと定義されています。Wi-FiおよびEthernetが含まれ,携帯電話の回線を利用してインターネットに接続するワイヤレス通信網(無線広域通信網)およびVPNは含まれません。マルチキャストアドレス(224.0.0.0/4, ff00::/8)およびIPv4のブロードキャストアドレス(255.255.255.255)もローカルネットワークアドレスです。ローカルネットワーク上のDNSサーバーやプロキシに対するアクセスは除外されます。「ローカルネットワーク上 のデバイスを見つけること」が目的とは限りません。
4Dの場合,Webサーバー(TCP待ち受け)はローカルネットワーク操作に該当しないので,許可は必要ありません。4D Serverの公開と発見(いずれもUDP)は許可が必要です。ローカルネットワーク上の4D Serverに対するアクセス(ServerNet=TCPまたはQUIC=UDP)も許可が必要です。Webエリアの表示に許可は必要ありません。
アプリケーションビルド画面の「コード署名」は,少しトリッキーなユーザーインタフェースかもしれません。「ライセンス&証明書」のページで「OS X署名に使用する証明書」の下にある「アプリケーションに署名」チェックボックスを選択し,「認証名」を空にしておいた場合(いずれもデフォルト値),自分の証明書で署名する,という意味になります。使用する証明書は,Apple Developer ID Applicationまたは自己署名証明書です。「アプリケーションに署名」チェックボックスを選択しなかった場合,証明書の代わりにハイフン(-
)が渡され,AdHoc署名が実施されます。いずれにしても,何らかの署名が実施される点に留意してください。
ビルドしたアプリケーションやコンポーネントをコード署名したくないのであれば,ビルドXMLファイルのAdHocSign
をFalse
にする必要があります。
メソッドエディターには,2種類のコメントを記述することができます。
//コメント
)/*コメント*/
)複数行コメントは,入れ子にすることもできます。
/*
から*/
までが複数行コメントとみなされるため,途中に*/
を記述すると,そこでコメントが終わります。
これは仕様です。単一行のコメントを併用するか,*/
の中にスペースを挿入するなど,複数行コメントに*/
を記述しないで済むようにしてください。なお,コメント内で特殊な意味を持つ以下の指示子は,いずれも単一行のコメントでのみ有効であり,インラインコメントおよび複数行コメントでは無視されます。
スレッドセーフコマンドと非スレッドセーフコマンドの共存
開発者による開発者のための機能、コメントへのタグ付け
グローバル警告の生成をカスタマイズする
手動タグ