CFOBJECT: COM オブジェクト  
説明

COM (Component Object Model) オブジェクトを作成および操作します。また、登録されている自動サーバーオブジェクトタイプを呼び出します。

OLEView、COM、および DCOM については、Microsoft OLE 開発 Web サイト www.microsoft.com を参照してください。

このタグを使用するには、オブジェクトのプログラム ID またはファイル名、IDispatch インターフェイスから利用できるメソッドとプロパティ、およびオブジェクトのメソッドの引数と戻り値のタイプを指定する必要があります。ほとんどの COM オブジェクトについて、OLEView ユーティリティを使用してこの情報を得ることができます。

メモ: UNIX 上では、このタグは COM オブジェクトをサポートしません。
 
シンタックス
<cfobject
   type = "com"
   action = "action"
   class = "program_ID"
   name = "text"
   context = "context"
   server = "server_name">
 
関連項目

ReleaseComObject、cfcollection、cfexecute、『ColdFusion MX 開発ガイド』の第17章の「グローバル化アプリケーションの開発」 の「COM」

 
<h3>cfobject (COM) の例</h3>
<!--- COM オブジェクトを inproc サーバー (DLL) として作成 (class = prog-id)--->
<cfobject action = "Create"
   type = "COM"
   class = Macromedia.DocEx1.1
   name = "obj"> 

<!--- メソッドを呼び出す。引数を指定しないメソッドは、空の括弧を使用して呼び出します。 --->
<cfset obj.Init()>

<!--- これはコレクションオブジェクトです。少なくとも、次の値がサポートされている必要があります。
   プロパティ:Count
   メソッド:Item(inarg, outarg)
   _NewEnum と呼ばれる特別なプロパティ
--->
<cfoutput>
   このオブジェクトには、#obj.Count# 個の項目があります。
   <br> <HR>
</cfoutput>

<!--- コレクション内の 3 番めのオブジェクトを取得 --->
<cfset emp = obj.Item(3)>
<cfoutput>
   3 番めの項目の姓は #emp.lastname# です。
   <br> <HR>
</cfoutput>
<!---コレクション内のすべてのオブジェクトに対してループ --->
<p>コレクション内のすべてのオブジェクトに対するループ。
<br>
<cfloop 
   collection = #obj#
   item = file2>
   <cfoutput> 姓。#file2.lastname# <br></cfoutput>
</cfloop>
TYPE  
  オプション
 

オブジェクトタイプです。

  • com
  • corba
  • java

その他のオブジェクトタイプは、type 属性を取りません。

ACTION  
  必須
 
  • create: メソッドまたはプロパティを呼び出す前に COM オブジェクト (通常は DLL) のインスタンスを作成します。
  • connect: サーバー上で実行されている COM オブジェクト (通常は EXE) に接続します。
CLASS  
  必須
 

呼び出すオブジェクトのコンポーネントプログラム ID です。Java スタブを使用して COM オブジェクトに接続するときは、class に COM オブジェクトのプログラム ID を指定する必要があります。

NAME  
  必須
 

文字列です。インスタンス化されたコンポーネント名を指定します。

CONTEXT  
  オプション
 
  • inproc
  • local
  • remote

Windows では、指定しない場合、Registry 設定が使用されます。

SERVER  
  context = "Remote" の場合は必須
 

サーバー名です。Universal Naming Convention (UNC) または Domain Name Serve (DNS) の表記規則を使用して、次のいずれかの形式で指定します。

  • lanserver
  • lanserver
  • http://www.servername.com
  • www.servername.com
  • 127.0.0.1