4D v16.3

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

ホーム

 
4D v16.3
デザインオブジェクトアクセスコマンド

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


 

 

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

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

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

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

コマンドコンパイルモードで利用可
Current method path
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はディスクファイルを作成することはしません。しかしオブジェクトのために作成されたパス名はOSのファイル管理システムと互換性があります。読み込みや書き出しメソッドを作成し、パス名を使用してディスクに直接ファイルを生成できます。

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

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

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

 
プロパティ 

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

 
履歴 

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)