24時間を超過する時間型の値をView Proエリアで使用した場合,値は時間ではなく,時刻として表示されます。たとえば,Time(26;00;00)
を挿入した場合,26
時間ではなく,午前2
時と表示されます。これは仕様です。SpeadJSセルの表示フォーマット(long time pattern
)は,デフォルトでHH:mm:ss
に設定されています。24時間を超過する時間型を表示したいのであれば,フォーマットを[hh]:mm:ss
に設定してください。
オブジェクト型フィールドのオブジェクト型プロパティの値をOB SET
で変更してから保存した場合,オブジェクト型プロパティの値は更新されないかもしれません。これは仕様です。たとえば,下記のコードを実行した場合,[Test]TestObject.Test
の値は200
に更新されません。
LOAD RECORD([Test])
$oSubObject:=OB Get([Test]TestObject;"MySubObject";Is object)
OB SET($oSubObject;"Test";200)
SAVE RECORD([Test])
OB SET
コマンドは,第1パラメーターに渡されたオブジェクト型(フィールドまたは変数)のdirty
(変更済み)フラグだけをセットします。そのオブジェクトを参照している他のオブジェクトのフラグはセットしません。OB SET
コマンドでオブジェクト型フィールドの内部オブジェクトを間接的に更新する場合,フィールド自体のdirty
(変更済み)フラグを下記のようにセットする必要があります。
[Test]TestObject:=[Test]TestObject
プロジェクトモードデータベースを導入してから、いくつかの4Dダイアログのインターフェイスも修正しました。このブログでは、フォームエディターに加えた変更をいくつか提示します。
まずはフォームがどのように組成されるのかを思い出しましょう。
フォーム名をつけたフォルダを各フォームごとに作成します:
各フォームフォルダーは以下の項目で構成されています:
フォーム・ディスクリプション
お気づきかもしれませんが、プロパティー・リスト中のプロパティーのいくつかは太字です。なぜでしょう?とてもシンプルですが:プレーンテキストのプロパティーは初期値を使い、太字のテキストはデザイナーによってオーバーライドされています。
このビデオ中では、私たちは太字のテキスト、値のリセットの方法、そしてこの情報がスタイルシートでいかに有効かについてデモを行っています。
4Dはオブジェクトをグループ化でき、全体を簡単に選択、移動、修正することができます。このビデオでは、プロジェクトモード・データベース中のグループの改良点をお見せします。
例えば、グループの中の一つのオブジェクトを選択します:最初に、グループ中のオブジェクトをクリックしてグループを選択します。それから選択したい特定のオブジェクトをクリックします。
もしグループを選択したら、整列と分布アクションが可能になります。アクションはグループ内の全てのオブジェクトに適用されます。
File
に渡された定数に対応するファイルが作成されていない場合,無効なパラメーター指定となり,エラーが返されます。これは仕様です。たとえば,SMTPログを有効にすることなく,File(SMTP log file)
を実行した場合,存在しないファイルのPOSIXパスが渡されたときとは違い,エラー-9851
が返され,返り値はNull
になります。
v18以降,_O_Get platform interface
を実行すると「実装されていないコマンドまたは関数」エラー33
が返されるようになりました。これは仕様です。このコマンドはv13で廃止されましたが,コードを書き換えが完了するまで,そのままメソッドをコンパイルできるよう,無効なトークンとして残されていました。17r5で32ビット版のリリースが終了されたことに伴い,コマンドは正式に廃止されています。プラットフォーム情報は,Is macOS
, Is Windows
, Get system info
等の関数で取得することができます。
Find in sorted array
は,文字列の途中に出現する@
もワイルドカードとして評価するため,ソートされた配列の値に@
が含まれている場合,間違った位置番号が返される可能性があります。これは仕様です。文字列の途中にワイルドカードが含まれている配列に対してコマンドを使用するのであれば,データベース設定で「文字列の途中に含まれる@はワイルドカードとして扱わない」を有効にしてください。
v17以降,4D ServerのPluginsフォルダーには4D Internet Commandsがインストールされないようになりました。スタンドアロン版のPluginsフォルダーにはインストールされています。これは仕様です。4D Serverおよび4D Volume Desktopは,必要に応じてプラグインをインストールする必要があります。
Equal pictures
でピクチャを比較した場合,v17では一致と判定された画像がv18では不一致と判定されることがあります。
ピクチャに対してPICTURE PROPERTIES
を実行した場合,PDFやSVGのようなベクトル画像であれば,v18以降,実数型でサイズを求めることができます。
A4縦のPDFは,約594.35
×841.99
ポイントなので,v17で作成したビットマップをv18でレンダリングしたピクチャと比較した場合,わずかにマスク画像が出力されることになります。これは仕様です。
4D Internet CommandsのSMTP_Attachment
コマンドでメールにファイルを添付する場合,地域と言語の設定が「日本語」以外に設定されているWindows環境で日本語のファイル名を指定すると,エラー-43
が返されます。これは仕様です。4D Internet Commandsは,互換性のために提供されている旧式のプラグインであり,4Dの本体とは違い,非UnicodeのHFS互換APIを現在でも使用しています。問題が生じるようなケースでは,4D Internet Commandsを使用するのではなく,標準コマンド(トランスポーター)でメールを送信することが勧められています。
プロジェクトモードでWA Evaluate JavaScript
をインタープリター実行した場合,型がIs integer
の値を受け取ることはできません。バイナリモードまたはコンパイルモードでは問題ありません。これは仕様です。新しいプロジェクトモードでは,Is integer
のように廃止予定の仕様は,原則的に実装されていません。Is longint
を代わりに指定してください。