ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
デザインオブジェクトアクセスコマンド

デザインオブジェクトアクセスコマンド  


 

 

4Dではプログラムを使用してアプリケーションのメソッドコンテンツにアクセスできます。この機能を使用すれば、アプリケーションのコードコントロールツール、特にバージョンコントロールシステム (VCS) への統合が容易になります。またコードのドキュメント化やカスタマイズされたエクスプローラー、ディスクファイルへの定期的なコードバックアップを実装できるようになります。

以下の原則が適用されます:

  • 4Dアプリケーション内の各メソッドやフォームはパス名形式で固有のアドレスを持ちます。例えばtable_1のトリガーメソッドは"[trigger]/table_1"で見つけることができます。各オブジェクトパス名はアプリケーション内でユニークです。
    注: パス名がユニークであることを保証するために、異なるフォームページ上であったとしても同じ名前のオブジェクトを作ることはできません。4D v13より前から変換されたデータベースでこの状況が発生している場合、MSCはこのような重複した名前を検出します。
  • METHOD GET NAMESMETHOD GET PATHSのような、このテーマのコマンドを使用して4Dアプリケーション内のオブジェクトにアクセスできます。
  • このテーマのコマンドのほとんどはインタープリターモードとコンパイルモード両方で動作します。しかしプロパティを変更したり、メソッドから実行可能なコンテンツにアクセスするコマンドはインタープリターモードでのみ利用可能です (後述の表参照)。
  • このテーマのコマンドはすべて4Dローカルモードおよびリモートモードで使用できます。
    しかし特定のコマンドはコンパイルモードで使用することができません。このテーマのコマンドの目的はカスタマイズされた開発サポートツールを作成することにあります。実行中のデータベースの機能を動的に変更するために使用してはなりません。例えばカレントユーザーのアクセス権に基づきMETHOD SET ATTRIBUTEコマンドでメソッド属性を変更するというようなことはできません。
  • このテーマのコマンドがコンポーネントから呼ばれた場合、デフォルトでその呼び出しはコンポーネントオブジェクトにアクセスします。コンポーネントからホストデータベースオブジェクトにアクセスする場合は最後に引数に * を渡します。なお (METHOD SET ATTRIBUTEのような) メソッド属性を変更するコマンドを使用する場合、必ずこのシンタックスを使用しなければならない点に留意してください。コンポーネントメソッドは常に読み込みのみモードです。

Here is the syntax of paths to different methods and forms in the 4D application:

 

 Path Description
 class Path of class definition. Example:
[class]/MyClass
 class function Path of class function. Example:
[class]/MyClass/myFunction
database method Path of database methods specified. List of these methods:
[databaseMethod]/onStartup
[databaseMethod]/onExit
[databaseMethod]/onDrop
[databaseMethod]/onBackupStartup
[databaseMethod]/onBackupShutdown
[databaseMethod]/onWebConnection
[databaseMethod]/onWebAuthentication
[databaseMethod]/onWebSessionSuspend
[databaseMethod]/onServerStartup
[databaseMethod]/onServerShutdown
[databaseMethod]/onServerOpenConnection
[databaseMethod]/onServerCloseConnection
[databaseMethod]/onSystemEvent
[databaseMethod]/onSqlAuthentication
[databaseMethod]/onHostDatabaseEvent
[databaseMethod]/onRESTAuthentication
[databaseMethod]/onMobileAppAuthentication
[databaseMethod]/onMobileAppAction
 project form Path of project form methods and all their object methods. Examples:
[projectForm]/myForm/{formMethod}
[projectForm]/myForm/button1
[projectForm]/myForm/my list
[projectForm]/myForm/button1
 project method Name of method. Example:
MyProjectMethod
 table form Path of table form methods and all their object methods. Examples:
[tableForm]/table_1/Form1/{formMethod}
[tableForm]/table_1/Form1/button1
[tableForm]/table_1/Form1/my list
[tableForm]/table_2/Form1/my list
 trigger Path of database triggers. Examples:
[trigger]/table_1
[trigger]/table_2

デフォルトで4Dはディスクファイルを作成することはしません。しかしオブジェクトのために作成されたパス名はOSのファイル管理システムと互換性があります。読み込みや書き出しメソッドを作成し、パス名を使用してディスクに直接ファイルを生成できます。

":"のような使用不可文字はエンコードされます。以下はエンコードが行われる文字のリストです:

文字エンコーディング
"%22
*%2A
/%2F
:%3A
<%3C
>%3E
?%3F
|%7C
\%5C
%%25

例:
Form?1Form%3F1 にエンコードされます
Button/1Button%2F1 にエンコードされます。

コンパイルのプロセスの原理に関係した理由上、コンパイルモードではこのテーマのコマンドは一部しかご利用いただけません。以下は、このテーマのコマンドについて、コンパイルモードで利用可能かどうかを示した表です:

コマンドコンパイルモードで利用可
Current method path
FORM EDITX (*)
FORM GET NAMES
METHOD Get attribute
METHOD GET ATTRIBUTES
METHOD GET CODEX (*)
METHOD GET COMMENTS
METHOD GET FOLDERS
METHOD GET MODIFICATION DATE
METHOD GET NAMES
METHOD Get path
METHOD GET PATHS
METHOD GET PATHS FORM
METHOD OPEN PATHX (*)
METHOD RESOLVE PATH
METHOD SET ACCESS MODE
METHOD SET ATTRIBUTEX (*)
METHOD SET ATTRIBUTESX (*)
METHOD SET CODEX (*)
METHOD SET COMMENTSX (*)

(*) コンパイルモードでこれらのコマンドを使用するとエラー -9762 "このコマンドをコンパイル済みデータベースで実行できません。" が生成されます。

 
プロパティ 

プロダクト: 4D
テーマ: デザインオブジェクトアクセス

 
ページの目次 
 
履歴 

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)