ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
廃止予定または削除された機能
|
機能 | 代替手段 | カレントの4D のバージョンでの状況 |
4D ODBC Pro | ビルトインのODBC/SQL パススルー、または 4D REST API | 削除済み |
macOS での 4D for OCI | ビルトインのODBC/SQL パススルー、または 4D REST API | 削除済み |
macOS での 4D ODBC ドライバー | 4D REST API | 削除済み |
ユーザーフォーム | ダイナミックフォーム | 廃止予定 |
Web変数に値を自動的に代入する (v13.4 以前に作成されたデータベースとの互換性オプション) | WEB GET VARIABLES コマンド(変数を取得する場合)、WEB GET BODY PART/WEB Get body part count コマンド(ポストされたファイルを取得する場合) | 廃止予定 |
変換された サブテーブル | N対1 テーブルの使用 | 廃止予定 |
macOS でのファイルとフォルダAPI | Path to object、Object to path | 廃止予定 |
コードに基づいた標準アクション | 文字列のパターン(標準アクション テーマ内の"ak" の定数) | 廃止予定 |
Macリソース | "Resources" フォルダの使用。互換性のために、変換されたデータベース内では使用可能です。ただし書き込みアクセスコマンドはサポートされません | OS (cicn アイコンは削除されました) Database .RSR ファイルは自動的には開かれません。Open resource file を使用する必要があります。 |
CPU優先度の管理 | なし | 廃止予定 |
旧式ネットワークレイヤー | ServerNet の使用 | 廃止予定 |
4D Mobile | ORDA と REST サーバー | 廃止予定 |
"状況"カラムの値についての説明です:
廃止予定のコマンドは全て"_o_" の接頭辞がつけられ、4D リスト(コードエディター、タイプアヘッド機能、等)には表示されません。廃止予定コマンドは、既存のコードから削除されることはなく、サポートされる限りは通常通りに動き続けます。廃止予定のコマンドをメソッドに追加することは(推奨されていませんが)可能であり、コマンド名の頭に"_o_" をつけて入力するだけです。これによって正常に解釈されます。
ランゲージリファレンスの廃止予定のコマンド付録内に、これらのコマンドのアルファベット順の一覧があります。
以前は廃止予定であった以下のコマンドは、4D v19からは削除され今後コードで使用してはいけません。呼び出された場合には、エラー(エラー33 - 未実装のコマンドまたは関数です) がトリガーされます。
警告: 削除されたコマンドへの呼び出しは、シンタックスチェックやコンパイル機能などでは検知されません。ご自身のコードはご自身でチェックし、削除されたコマンドに対して如何なる呼び出しも含まれていないようにしてください。
コマンド | 代替機能 | 削除時期 |
ランゲージテーマ: | ||
_o_NO TRACE | デバッガのトレース終了ボタン | v18 R2 |
オブジェクト(フォーム)テーマ: | ||
_o_DISABLE BUTTON / _o_ENABLE BUTTON | OBJECT SET ENABLED | v18 R2 |
4D v19 以降、全てのプラットフォームにおいて4D ODBC Pro プラグインは今後利用できません。今後はODBC/SQL 接続機能を管理するためには、ビルトインのODBC/SQL パススルー(SQL LOGIN とSQLコマンドの概要 参照)あるいは 4D REST API を使用して下さい。
4D v19 以降、4D for OCI プラグインはmacOS では利用できなくなります。このプラットフォームにおいて接続機能を管理するためには、今後はビルトインのODBC/SQL パススルー(SQL LOGIN と SQLコマンドの概要 参照)あるいは 4D REST API の使用が推奨されます。
4D v19 以降、4D ODBC ドライバーはmacOS では利用できなくなります。このプラットフォームでの外部データアクセスのためには、 4D REST API の使用が推奨されます。
オブジェクト型フィールドに対しては、データファイルの外保存オプションはサポートされなくなりました(レコード、データファイル、外部に保存参照)。このオプションがオブジェクト型フィールドに対して選択されていた場合、それは自動的にデータファイルの中へと変換され、また新規レコードに対してもそれが適用されます。オブジェクトフィールド内にある既存のデータについては、親レコードが保存された時に、透過的に新しい保存場所へと書き写されます。全てのレコードを一斉に書き写すためには、MSCの圧縮で"レコードの強制更新"オプションをチェックしてデータファイルを圧縮してください。
4D v17 R4 以降、ユーザーフォームは廃止予定となります。カスタマイズ可能なユーザーインターフェースを提供するためには、今後はダイナミックフォームを使用することが推奨されます(デザインリファレンスのダイナミックフォームを参照してください)。"ユーザーフォーム"テーマ内のコマンドは全て廃止予定に指定されました。
ユーザーフォームは互換性のために引き続きサポートはされますが、今後は使用されるべきではありません。ユーザーフォームのサポートは将来のリリースで打ち切られる予定です。
以前のバージョンの4Dでは、WebフォームまたはURLを通して送られた変数の値が、4D内の変数と同じ名前であったときに、Webサーバーは自動的にその値を4D変数へと代入していました。
最適化と管理の目的から、この原理は4D v14以降は維持されていません。Web変数の値は自動的には4D変数に代入されません。POST や GET を使用して送られた変数を取り戻すためには、WEB GET VARIABLES コマンドを必ず使用して下さい。送られたファイルを取り戻すためには、WEB GET BODY PART/WEB Get body part count コマンドを使用しなければなりません。
注: 自動的な代入は、v13.4以降で作成された4Dデータベースにおいてもデフォルトで無効化されています。
しかしながら、互換性のために、この機構はv13.4より前のバージョンの4Dで作成されたデータベースにおいてはデフォルトで維持されています。この場合、データベース設定の互換性ページの「Web変数に値を自動的に代入する」のオプションを使用して無効化する事ができます。
この機構は廃止されていることから、今後の変換を容易にするためにも、変換されたデータベースにおいてこのオプションのチェックを外すこと(またそれに加えて必要であればコードを修正すること)が強く推奨されます。
これまでの複数のメジャーバージョンにおいて、4Dはデベロッパに対し、サブテーブルの使用をやめるよう忠告をしてきました。そして4D v11以降、サブテーブル型のフィールドを作成することは出来なくなりました。サブレコードにはいくつかの制約がつきます。例えば、サブテーブルは必ずメ モリーにロードされ、SEND RECORD と DUPLICATE RECORD コマンドで管理することはできません。
今す ぐサブテーブルのサポートを打ち切る予定はありませんが、デベロッパの方々にとって、そろそろ真剣にサブテーブルをN対1テーブルへと切り替えるべき時期 だと考えられます。何故なら、将来の4Dのメジャーバージョンにおいて4Dからサブテーブルが除去される予定だからです。パフォーマンスのため(リレート したレコードの読み出しが遅いなどの特定の条件下)にサブテーブルを使用していたデベロッパは、ご安心ください。スピードは(特にv12以降)N対1、1 対Nリレーションを使った方が速いです。
サブテーブルを除去するためには、主に二つのステップがあります(注:以下は完全なTech Tipsではなく、あくまで早見表です):
ここで言う"必要なコードを全て書き換える"というのは、基本的に:
注: 4D v14 R3以降、サブテーブルを含むデータベースを変換した際に4Dによって自動的に追加される特殊なフィールド"id_added_by_converter"に値を割り当てることが出来るようになります。これにより、"サブテーブルリレーション"のリンクを保ったまま、_o_CREATE SUBRECORDなどの廃止予定のコマンドを使用することなく、リレートされたレコードを追加または編集することができます。メソッドをアップデートした後、これらの特殊なリレーションは、コードを何も書き換えることなく、通常のリレーションと置き換えることができるようになります。
4D v16 R6以降、Mac OS 9ベースのファイル・フォルダ管理のためのAPIは、4Dにおいては廃止予定となります。これらのAPIは既にAppleによってかなり以前から廃止予定とされていたものでした。
古いAPIに依存していた以下の4Dコマンドは、名前が変更されています: _o_Document type、_o_Document creator、_o_SET DOCUMENT TYPE、_o_SET DOCUMENT CREATOR、および_o_MAP FILE TYPES。macOS用32-bit版4D においては、これらのコマンドは互換性のために維持されていますが、廃止予定となっており、今後使用するべきではありません。 4Dではパス名とファイル拡張子を管理するための、二つの新しいコマンドが追加されました。Path to object および Object to pathです。
標準アクションは4D v16 R3において内部的に設計し直されました。今後は文字列パターンに基づき、また引数をサポートする様になります(詳細な情報については標準アクションの章を参照してください)
変換されたアプリケーションにおいては、標準アクションは透過的に新デザインへとリマップされます。しかしながら、4Dランゲージにおいては、標準アクションは以前はコードの値に基づいていました。この原理は廃止予定となり、今後は使用されるべきではありません:
これもまた古いMac OSのテクノロジーの一つで、Mac OS X 10.4(Tiger、2005年)に廃止されています。リソースは現在はテキストや文字列などの構造化されたデータ(ローカライズ用)に加え、アイコンなどを保存するために使用されています。つまり廃止されたのはリソースそのものではなくて、リソースフォークと呼ばれる、ディスク上のサポートです。リソースフォークはMac OS ファイルシステムの一部であり、Mac OS X初期から、Apple ではこのサポートを除去しようと試みてきました。これはこの仕組みがUnixやWindowsなどの他のファイルシステムとは互換性がないうえに、ファイルをネットワーク越しに転送する際に多くの問題の原因となってきたからです。
Windows上では、このメカニズムをエミュレートして、Macリソースは.RSR ファイル内に置かれてきました。
しかし、これらのリソースを管理するAPIがまだあるとはいえ(そしてMac OSではデータフォーク内に保存されているリソースをひそかに管理しているとはいえ)、以下の複数の理由からこの機構は使用されるべきではありません:
4Dからはリソースを書き込み・作成するコマンドは除去されています。
リソースを依然として使用している4Dアプリケーションの大半は、実際に使用しているのは"String List"リソース('STR#')です。4Dでは STR# を XLIFF に容易に変換するツールを提供しています:
他のリソースに関して:
プロダクト: 4D Chart
テーマ: 廃止予定または削除された機能
4D v19.x リリースノート ( 4D v19)
4D v19.x リリースノート ( 4D v19.1)
4D v19.x リリースノート ( 4D v19.2)
4D v19.x リリースノート ( 4D v19.3)
4D v19.x リリースノート ( 4D v19.4)
4D v19.x リリースノート ( 4D v19.5)
4D v19.x リリースノート ( 4D v19.6)
4D v19.x リリースノート ( 4D v19.7)
4D v19.x リリースノート ( 4D v19.8)