フォームイベントのコンテキストで共有コンポーネントメソッドを実行した場合,Current form name
はホストプロジェクトのフォーム名を正しく返しますが,コンポーネントからフォームのプロパティ等に直接アクセスすることはできません。たとえば, FORM GET PROPERTIES
を実行した場合,エラー81
「フォームが見つかりません」が返されます。これは仕様です。Formula from string
と定数sk execute in host database を使用し,明示的にホストプロジェクトのコンテキストでフォーミュラを評価する必要があります。
collection.findIndex()
は特定の条件に合致するコレクション要素をサーチするメンバー関数です。配列とは違い,コレクション型にはさまざまなタイプの値を収めることができるので,コレクション型のサーチは概してFind in array
のようなコマンドよりも低速です。Find in array
は,配列の各要素に対してCPUの比較命令を単純に実行するだけですが,コレクション型の各要素に対してフォーミュラを適用するためには,整数を比較するだけでも300
以上のCPU命令を実行する必要があります。ランゲージにコレクション型と配列の両方が用意されているのはそのためです。柔軟で汎用的なコンテナが必要であればコレクション型,パフォーマンスを重視するのであれば配列型が適しています。
v17r5以降,Current user
は「カレントユーザのエイリアスまたはユーザ名」を返すようになりました。ドキュメントに明記されているように,user 引数を省略した場合,エイリアスが定義されていれば,エイリアスが返されます。
User in group
でカレントユーザーの所属グループを調べる場合,エイリアスで判定することはできないので,user 引数に4D user account
を指定する必要があります。これは仕様です。
過去のバージョンでは,クライアント側でcount users
を実行した場合,ストアドプロシージャーが実行中であれば,サーバに接続しているユーザ数に1
を加えた値が返されました。
少なくとも1つのストアドプロシージャーが実行されていて,
Count users
が(ストアドプロシージャー以外の)コンテキストから呼ばれた場合,コマンドはユーザの数に+1
して返します。
この仕様は4D 20, R4, R5で見直されました。コマンドは,単純にサーバに接続しているユーザ数を返します。ストアドプロシージャーが実行中であってもなくても,クライアント側とサーバー側のどちらで実行しても,サーバに接続しているユーザ数に1
を加えた値が返されることはありません。
On Header Click イベントでリストボックスのヘッダークリック操作をカスタマイズする場合,「ソート可」プロパティは無効にしてください。「ソート可」プロパティが有効にされている場合,左クリック時にヘッダーのデータソースに代入した値(0
または1
または2
)がデフォルトの動作でオーバーライドされてしまうためです。なお,右クリックにデフォルトの動作は定義されていないため,「ソート可」プロパティが有効であっても,ヘッダーのデータソースに代入した値が表示に反映されます。これは仕様です。
iOS 17.3では,SMTPTransporter
で送信したGmailの添付ファイル(Content-Disposition: attachment
)が表示されないことがあります。Androidデバイスでは問題ありません。この問題はiOS 17.4で修正されています。4Dの不具合ではありません。
WEB SERVICE SET PARAMETER
の第2パラメーターに渡すことができるのは,は型宣言された変数だけです。オブジェクト型のプロパティはバリアント型なので変数の代わりに渡すことはできません。これは仕様です。