17r3では,WP Create range
にドキュメントを渡した場合の振る舞いが調整され,仕様が明確になりました。
本文をクリックしてからコマンドを実行した場合(WP Get frame
がwk body
を返す状態),WP Create range
にドキュメントを渡したときに返されるレンジは,本文に対して相対的でした。
ヘッダーをクリックしてからコマンドを実行した場合(WP Get frame
がwk current section default header
を返す状態),WP Create range
にドキュメントを渡したときに返されるレンジは,ヘッダーに対して相対的でした。
WP Create range
にドキュメントを渡したときに返されるレンジは,フレームに関係なく,本文に対して相対的です。
ポイント: コマンドの振る舞いは,Write Proドキュメントがオフスクリーンであるかどうかに左右されず,一貫している必要があります。ヘッダーやフッターがフォーカスされている場合にレンジの基準が変動する以前の動作は,この原則に沿っていませんでした。
ヘッダーに対して相対的なレンジを取得することが目的であれば,ヘッダーをクリックしてカレントフレームを移動するのではなく,ヘッダーをコマンドに渡してください。
注記: 17r5でコマンドの名称はWP Text range
に変更されています。
Windows 64ビット版は,ダブルクリックするだけで,アプリケーションのインスタンスがいくつでも起動できるようになりました。この改良により,マルチクライアントまたはマルチテナントを想定したビジネスアプリケーションであれば,同一のマシン上で複数のクライアントアプリケーションを起動し,それぞれ別のユーザーアカウントで同一のサーバーに接続する,といったことが容易になりました。
17r4以前のバージョンでは,同一のマシン上で複数のクライアントを起動し,同一のサーバーに接続するためには,ClientLocal
という名称のフォルダー(ローカルリソースのキャッシュフォルダー)をそれぞれのクライアントをアプリケーションと同じフォルダーに作成する必要がありました。標準のキャッシュフォルダーは,サーバーの公開名・アドレス・ポート番号が同じであれば,同じものが使用されるためです。
ローカルリソースのキャッシュフォルダー(17r4)
\AppData\Local\{ApplicationName}\{DBName}_{ServerIP}_{ServerPort}
17r5以降,ローカルリソースのキャッシュフォルダーパスには,クライアントアプリケーションのフルパスから計算されたハッシュ値(10
進数3
桁)が追加され,コリジョンが検出された場合には,利用できるディレクトリがみつかるまで,自動的に値をインクリメントされるようになっています。使用中のキャッシュフォルダーには,inuse.txt
およびuuid.txt
というテキストファイルが作成されます。前者には,アプリケーションのプロセス番号(pid
)とアプリケーションのフルパスが改行コード(\n
)で区切られて書き込まれています。後者には,クライアントのUUID
が書き込まれています。
17r5以降,ClientLocal
という名称のフォルダーを作成する必要はありません。
ローカルリソースのキャッシュフォルダー(17r5)
\AppData\Local\{ApplicationName}\{DBName}_{ServerIP}_{ServerPort}_{hash}
注記: キャッシュフォルダーのパスは,Get 4D folder(4D Client database folder)
で取得することができます。
ビルドされたアプリケーションは,デフォルトの設定で複数インスタンスの起動が禁止されています。具体的には,info.plist
ファイルに下記のキーが書き込まれています。
<key>SingleInstance</key>
<string>0</string>
このキーは,BUILD APPLICATION
で指定するプロジェクトのキーで設定することができます。
<Preferences4D>
<BuildApp>
<CS>
<ClientWinSingleInstance>False</ClientWinSingleInstance>
</CS>
</BuildApp>
</Preferences4D>
このキーは,Windows版のビルドされたクライアントアプリケーションで有効です。Windows版のビルドされたスタンドアロンアプリケーションは,常に複数インスタンスの起動が禁止されています。
注記: Macでは,コマンドラインからopen -n
と命令することにより,同一アプリケーションのインスタンスを起動することができます。
17r4以降,Mac版のボーダーハイライトが17.xよりも「太く」表現されるようになりました。これはシステムの表示に合わせるための意図的な変更であり,仕様です。
17.x
17r4
4D for iOSは,標準的なXcodeプロジェクトを出力し,ネイティブiOSアプリをビルドするツールです。17r4に組み込まれている4D for iOSは,ABI安定化前のSwiftを使用しているため,XcodeおよびiOSのバージョンが17r4開発当時のもの(Xcode 10.1)でなければアプリをビルドしたり,デバイスで動かしたりすることができません。これは仕様です。
Xcode | Swift | iOS | 4D |
---|---|---|---|
10.2 | 5 | 12 | 17r5 |
10.1 | 4.2.1 | 12 | 17r4 |
10.0 | 4.2 | 12 | 17r3 |
9.4.1 | 4.1.2 | 11.4 | 17r2 |
17r4の4D for iOSを使用するのであれば,Xcode 10.1の環境を用意し,アップデートは控えるようにしてください。
注記: デバイスをiOS 12.2にアップデートすると,Xcode 10.1ではデバッグができなってしまいますので,テストに使用するデバイスのアップデートも控えたほうが良いかもしれません。
すでにアップデートしてしまった場合, Appleから過去のXcodeをダウンロードすることができます。
17r5には,Xcode 10.2およびSwift 5に対応した4D for iOSが組み込まれています。最新版のXcodeを使用するのであれば,17r5(ベータ版)の4D for iOSをご検討ください。
なお,4D for iOSは,単独でダウンロードすることもできます。