4D v20.1データベースをプロジェクトモードに変換する |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
4D v20.1
データベースをプロジェクトモードに変換する
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 廃止予定の機能 | 変換ステータス | コメント |
| ピクチャーラジオボタン | エラー | 3D ボタンに変換する必要あり |
| ダイアル | エラー | 進捗インジケーターに変換する必要あり |
| 格子 | 警告 | 格子オブジェクトは自動的にsvgピクチャーへと変換され、データベースのrsources フォルダに保存されます |
| ハイライトボタン | 警告 | 透明ボタンに変換されます(ハイライトボタンにヘルプTipが割り当てられていた場合には"on mouse move"イベントが選択されています。ただしこの場合ロールオーバーは無効化されます)。 |
| ラジオボタンとしてのブールフィールド | 警告 | |
| On Background ピクチャーフォーマット | - | "トランケート(中央合わせしない)"へと変換されます |
| 透明な背景 | - | "None" の塗りカラーに変換されます。 |
| リストボックス - スクロール可能エリアとの互換性 | 警告/エラー | 標準のリストボックス機能を使用してください |
| リストボックス - 接続されたリストボックスとの互換性 | エラー | 標準のリストボックス機能を使用してください |
| プラットフォームインターフェースの"printing" プロパティ | 警告 | "printing" プロパティを持つオブジェクトは自動的に"flat" スタイルへと変更されます("system" 境界線を持つボタン、チェックボックス、ラジオボタン、変数/フィールド) |
| 3Dボタンの"タイトル表示"/"アイコン表示" プロパティ | - | タイトルは削除され、アイコンは表示されません |
| アクティブメニューバー | 警告 | プロジェクトモードでは、関連づけられたメニューバーは常にアクティブになります。これによりフォームメソッドのコードを一部変更しなければならない場合があります |
| ヘルプトピック番号 | 警告 | サポートされません。OPEN URLを使用してください。 |
振る舞いの違いから、プロジェクトモードにおいてはフォーマットコマンドをデフォルトの引数で使用した場合、あるいは一部の引数を省略して使用した場合には、オブジェクトのレンダリングが異なる可能性があります。
| コマンド | プロジェクトモードでの振る舞いの変更 | 変換後 | 解決策・対策 |
| GET STYLE SHEET INFO、OBJECT SET STYLE SHEET、OBJECT Get style sheet | 旧式のスタイルシートはサポートされません。 | "自動"旧式スタイルシートのみが使用できます | スタイルを動的に適用するためには、OBJECT SET FONT、OBJECT SET FONT SIZE、OBJECT SET FONT STYLE などのコマンドを使用してください。 |
| OBJECT SET FORMAT | 省略された引数に対するデフォルトのサポートがありません。 | オブジェクトのレンダリングが正しくない可能性があります。例:ボタンピクチャーが切り落としされていない等 | displayFormat 引数をチェックして、全ての値が宣言されているか確認してください。 |
| コマンドは廃止予定のオブジェクト(格子、ダイアルなど)に対しては無視されます。 | 廃止予定のオブジェクトはレンダリングされません。 | サポートされているオブジェクトを使用してください。 | |
| OBJECT SET RGB COLORS | "透過"フォームオプションは削除されています。透過度は塗りカラーなしによってのみ設定されます。 | 透過ではなく、黒か白の背景色が使用されます。 | 使用していないのなら、任意のbackgroundColor 引数を削除してください。 |
| _o_OBJECT SET COLOR | プロジェクトモードではこのコマンドは廃止予定となっています。 | 透過ではなく、黒か白の背景色が使用されます。 | OBJECT SET RGB COLORSを使用してください。 |
以下のデータベースストラクチャーオプションは廃止予定となっており、編集されるか、プロジェクト変換ログファイル内にエラーを生成します(以下の表のコメントを参照してください)。
| 廃止予定の機能 | 変換ステータス | コメント |
| "修正不可"フィールドオプション | 警告 | プロジェクトへの書き出しの過程でフォームレベルへと自動的に移動 |
| "表示のみ"フィールドオプション | 警告 | プロジェクトへの書き出しの過程でフォームレベルへと自動的に移動 |
| "必須入力" フィールドオプション | エラー | "NULL 値の入力を拒否"オプションを選択してください |
以下のツールボックスエディターと機能は、廃止予定となっており、プロジェクトではサポートされません:
| 廃止予定の機能 | 変換ステータス | コメント |
| ピクチャーライブラリー | 警告 | ピクチャーは自動的にデータベースのResources フォルダへと書き出されます |
| GET PICTURE FROM LIBRARY | - | 動作しません。代わりにREAD PICTURE FILE を使用してください。 |
| "ユーザー更新可" リストオプション | - | |
| LIST OF CHOICE LISTS | - | - |
| SAVE LIST | - | プロジェクトから呼び出された場合にはランタイムにエラー |
変換の過程において、既存の4D ユーザーとグループは.4db ファイルから自動的に取り出され、プロジェクトのdirectory.json ファイル内に保存されます。
プロジェクトにおいては、コードはオープンなテキストファイルとして保存されるため、4D ユーザーアクセス管理はバイナリーデータベースとは同じようには動作しません。具体的には、以下のような差異があります:
クライアント/サーバーモードでは、プロジェクトデータベースでもバイナリーデータベースでもユーザーアクセスコントロールは使用できます。しかしながら、メニュー、メソッド、フォームを特定のグループに割り当てることはサポートされていません(セキュリティノートを参照してください)。
そのため、変換後には以下のような点に注意してください:
セキュリティノート:
ユーザーとグループを通してアクセス権を管理する、クライアント/サーバーのプロジェクトアプリケーションをビルドした場合、必ずdirectory.json ファイルをData フォルダ内のSettings フォルダ にコピーするようにして下さい。そうでないと、生成されたサーバーアプリケーション側でこのファイルが使用ができません。
既存のカスタムオブジェクトライブラリ(Windows では.4il、macOS では.4dlibrary)は、プロジェクトで使用したい場合、個別に書き出しをしなければなりません。詳細な情報に関しては、情報を記したblog 記事を参照してください。
4D プロジェクト配布の構想は、 .4dz 圧縮ファイル に基づいており、これはストラクチャー全体が読み出しのみ(リードオンリー)になっています。これは組み込みアプリ、コンパイルされたコンポーネントが該当します。結果として、ストラクチャーを編集するコマンドはこの環境では動作せず、配布されたアプリケーションでは使用するべきではありません。これらのコマンドが呼び出された場合、コンテキストによって、コマンドは何もしないか、エラーを生成するかどちらかをします。配布されたアプリケーションにおいてストラクチャーを編集することは、以下の理由から推奨されないという点に注意してください:
しかしながら、.4dz フォーマットをどうしても避けなければならず、配布された環境でもソースファイルを編集できるように"Project" フォルダをそのままにしておかなければならない場合(これは上記で説明されているように推奨されませんが)、PackProject キーが役にたつかもしれません。
ストラクチャーを編集しうるコマンドの一覧は以下の通りです:
| コマンド | 補足 |
| ARRAY TO LIST | listRef をサポートします。旧シンタックス(選択リスト)のみがストラクチャーを編集します |
| SAVE LIST | |
| Set group properties | |
| CHANGE PASSWORD | |
| DELETE USER | |
| EDIT ACCESS | |
| BLOB TO USERS | |
| SET PLUGIN ACCESS | |
| SET PICTURE TO LIBRARY | |
| CREATE INDEX | |
| DELETE INDEX | |
| SET INDEX | |
| IMPORT STRUCTURE | |
| REGENERATE MISSING TABLE | |
| Set user properties | |
| SET DATABASE PARAMETER | 特定のパラメーターのみが異なるセッション間で保持されます |
| FORM Convert to dynamic | 入力として渡せるのはバイナリーフォームのみです |
| ALTER TABLE (SQL) | ストラクチャーを編集できるのはローカルなアクセスのみです |
| DROP TABLE (SQL) | ストラクチャーを編集できるのはローカルなアクセスのみです |
| CREATE TABLE (SQL) | ストラクチャーを編集できるのはローカルなアクセスのみです |
| CREATE INDEX (SQL) | ストラクチャーを編集できるのはローカルなアクセスのみです |
データベースがプロジェクトへと変換されると、バックアップのアーカイブカウンター はリセットされます。これはつまり、変換されたプロジェクトでの最初のバックアップファイルの名前は、バイナリーデータベースの時の最後のアーカイブファイルのシーケンス番号にかかわらず、myBase-0001 となります。
バックアップのアーカイブカウンターは、データベースのストラクチャーファイルとリンクしています。.4DB ファイルを改名、もしくは移動させた場合、そしてもちろん.4DProject へと変換した場合などには新しいバックアップカウンターが開始されることになります。
変換されたデータベースに納得し、プロジェクトでの作業を始めたい場合、作業ディレクトリを片付けることができます:
プロジェクトが他のマシンに移動した時に、データファイルが自動的に開くようにするためには、developer.4d.com で説明があるように、プロジェクトアーキテクチャに確認を取ることができます:
プロダクト: 4D
テーマ: 4Dファイルの管理
初出: 4D v18
デザインリファレンス ( 4D v20)
デザインリファレンス ( 4D v20.1)
コメントを追加