IMAP Transporter
のgetBoxInfo()
は,どんなメールボックスでも選択できるわけではありません。たとえば,GmailにIMAPで接続した場合,[Gmail]
というメールボックスが返されますが,このメールボックスは階層構造の「ノード」なので,単独で選択することができません。
メールボックスが選択できるかどうかはselectable
プロパティで判定できます。
$transporter:=IMAP New transporter($server)
$status:=$transporter.checkConnection()
If ($status.success)
$boxList:=$transporter.getBoxList()
For each ($box;$boxList)
If ($box.selectable)
$boxInfo:=$transporter.getBoxInfo($box.name)
End if
End for each
End if
CREATE THUMBNAIL
の処理速度は,WindowsよりもmacOSのほうがずっと高速です(5
バ倍強)。これは仕様です。MacのグラフィックフレームワークはGPUで加速されたハードウェア処理ですが,Windowsはソフトウェア処理となっています。bicubic
bilinear
フィルタリングのソフトウェア演算処理には結構なCPUパワーが必要です。
COPY ARRAY
でARRAY REAL
をARRAY LONGINT
にコピーした場合,v17では数値配列のタイプが変換されました。v18以降,このコマンドで配列のタイプを整数⇄実数⇄倍長整数と変換することはできません。18r5のドキュメントは,新しい仕様を反映した記述になっています。
コンパイルモードでは,destination 引数の配列は,source 引数の配列と同じ型である必要があります。そのため,インタープリタモードどコンパイルモードで配列に同様の振る舞いをさせるためには,常に同じ型の配列を使用することが推奨されます。
インタープリターモードは,できるだけコンパイルモードの厳密な仕様を忠実に再現するよう配慮されていますが,COPY ARRAY
のように,インタープリターモードであれば幾らか「緩い」用途が許容されるコマンドは,コンパイルモードを意識してコーディングする必要があります。
18r3では,BASE64 DECODE
コマンドでデータURI(例:data:image/jpeg;base64,…
)をデコードすることができました。18r4以降,そのような文字列はデコードされず,空の値が返されます。これは仕様です。BASE64とデータURIは同じものではありません。データURIをデコードするのであれば,プリフィックス以降のデータをコマンドに渡してください。
$base64:=Substring($base64;Position(",";$base64)+1)
XML形式のインポートプロジェクトファイル(.4SI
)をコードで構築する場合,フィールド番号だけでなく,テーブル番号(table_no
)も省略せずに指定する必要があります。テーブル番号が省略されている場合,正しくレコードがインポートできないかもしれません。32ビット版のエディターで作成されたプロジェクトは,テーブル番号が省略されていることがあります。そのような場合,プロジェクトを再作成することで問題を解消することができます。
GET BACKUP INFORMATION
コマンドにNext backup date
セレクターを渡すことにより,次回に予定されているバックアップの日時を取得することができますが,この情報はバックアップ完了後に更新されるものなので,データベースメソッドのOn Backup Shutdown
で参照することはできません。これは仕様です。On Backup Shutdown
は,バックアップ終了直前に発生するイベントですが,この時点ではまだバックアップ処理の途中であることに留意してください。
リストボックスの背景(CSSのfill
プロパティ)が「なし」(CSSのtransparent
)に設定されている場合,リストボックスそのものに背景がないため,メタ情報式やコマンドで行・列・セルに個別の背景色を設定することはできません。これは仕様です。
RESTサーバーを公開する場合,必ずOn REST Authentication
データベースメソッドを実装するようにしてください。データベースメソッドがFalse
を返せば,クライアント接続ライセンスが消費されることはありません。データベースメソッドで認証されたリクエストは,既存のセッションクッキーを再利用するので,新しい接続ライセンスを消費することはありません。
On REST Authentication
メソッドが実装されていない場合,すべてのリクエストは新規ゲストユーザーとなり,たちまちクライアント接続ライセンスが減ってしまいます(Denial of Service攻撃)。また,URLさえわかっていれば,どんなクラスメソッドでも自由に実行できてしまいます(セキュリティ問題)。
REST APIのライセンスは,Webサーバーではなく,クライアント/サーバーのビジネスモデルに準拠しています。