hi, i've added a few things to the current com section, but i'm not familiar with these markup tags. could someone please verify this and commit it to the phpdoc tree. -harald
<reference id="ref.com"> <title>COM support functions for Windows</title> <titleabbrev>COM</titleabbrev> <partintro> <simpara> These functions are only available on the Windows version of PHP. These functions have been added in PHP 4. </simpara> </partintro> <refentry id="class.com"> <refnamediv> <refname>COM</refname> <refpurpose>COM class</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis>$obj = new <classname>COM</classname>("server.object")</synopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <simpara> The COM class provides a framework to integrate (D)COM components into your php scripts. </simpara> </refsect1> <refsect1> <title>Properties</title> <simpara></simpara> </refsect1> <refsect1> <title>Methods</title> <funcsynopsis> <funcprototype> <funcdef>string <function>COM::COM</function></funcdef> <paramdef>string <parameter>module name</parameter></paramdef> <paramdef>string <parameter><optional>server name</optional></parameter></paramdef> <paramdef>int <parameter><optional>codepage</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <refsect2> <title>Description</title> <para> COM constructor. Parameters: <variablelist> <varlistentry><term>module name</term> <listitem> <simpara> name or class-id of the requested component. </simpara> </listitem> </varlistentry> <varlistentry><term>server name</term> <listitem> <simpara> name of the DCOM server from which the component should be fetched. If NULL, localhost is assumed. To allow DCOM <constant>com.allow_dcom</constant> has to be set to true in php.ini. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> specifies the codepage that is used to convert php-strings to unicode-strings and vice versa. Possible values are <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> and <constant>CP_UTF8</constant>. </simpara> </listitem> </varlistentry> </variablelist> </para> </refsect2> <funcsynopsis> <funcprototype> <funcdef>string <function>COM::AddRef</function></funcdef> </funcprototype> </funcsynopsis> <refsect2> <title>Description</title> <para> Increases the components reference counter. </para> </refsect2> <funcsynopsis> <funcprototype> <funcdef>string <function>COM::Release</function></funcdef> </funcprototype> </funcsynopsis> <refsect2> <title>Description</title> <para> Decreases the components reference counter. </para> </refsect2> <para> <example id="example.com1"> <title>COM example (1)</title> <programmlisting role="php"> // starting word $word = new COM("word.application") or die("Unable to instanciate Word"); print "Loaded Word, version {$word->Version}\n"; //bring it to front $word->Visible = 1; //open an empty document $word->Documents->Add(); //do some weird stuff $word->Selection->TypeText("This is a test..."); $word->Documents[1]->SaveAs("Useless test.doc"); //closing word $word->Quit(); //free the object $word->Release(); $word = null; </programmlisting> </example> </para> <para> <example id="example.com2"> <title>COM example (2)</title> <programmlisting role="php"> $conn = new COM("ADODB.Connection") or die("Cannot start ADO"); $conn->Open("Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=database; User ID=user; Password=password"); $rs = $conn->Execute("SELECT * FROM sometable"); // Recordset $num_columns = $rs->Fields->Count(); echo $num_columns . "\n"; for ($i=0; $i < $num_columns; $i++) { $fld[$i] = $rs->Fields($i); } $rowcount = 0; while (!$rs->EOF) { for ($i=0; $i < $num_columns; $i++) { echo $fld[$i]->value . "\t"; } echo "\n"; $rowcount++; // increments rowcount $rs->MoveNext(); } $rs->Close(); $conn->Close(); $rs->Release(); $conn->Release(); $rs = null; $conn = null; </programmlisting> </example> </para> </refsect1> </refentry> <refentry id="function.com-load"> <refnamediv> <refname>com_load</refname> <refpurpose> Creates a new reference to a COM component </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>com_load</function></funcdef> <paramdef>string <parameter>module name</parameter></paramdef> <paramdef>string <parameter> <optional>server name</optional> </parameter> </paramdef> <paramdef>int <parameter> <optional>codepage</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>com_load</function> creates a new COM component and returns a reference to it. Returns <literal>false</literal> on failiure.Possible values for <parameter>codepage</parameter> are <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> and <constant>CP_UTF8</constant>. </para> </refsect1> </refentry> <refentry id="function.com-invoke"> <refnamediv> <refname>com_invoke</refname> <refpurpose> Calls a COM component's method. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_invoke</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>function_name</parameter></paramdef> <paramdef>mixed <parameter> <optional>function parameters, ...</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>Com_invoke</function> invokes a method of the COM component referenced by <parameter>com_object</parameter>. Returns <literal>false</literal> on error, returns the <parameter>function_name</parameter>'s return value on success. </para> </refsect1> </refentry> <refentry id="function.com-propget"> <refnamediv> <refname>com_propget</refname> <refpurpose> Gets the value of a COM Component's property </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_propget</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> This function is an alias for <function>com_get</function>. </para> </refsect1> </refentry> <refentry id="function.com-get"> <refnamediv> <refname>com_get</refname> <refpurpose> Gets the value of a COM Component's property </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_get</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Returns the value of the <parameter>property</parameter> of the COM component referenced by <parameter>com_object</parameter>. Returns <literal>false</literal> on error. </para> </refsect1> </refentry> <refentry id="function.com-propput"> <refnamediv> <refname>com_propput</refname> <refpurpose> Assigns a value to a COM component's property </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propput</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> This function is an alias for <function>com_set</function>. </para> </refsect1> </refentry> <refentry id="function.com-propset"> <refnamediv> <refname>com_propset</refname> <refpurpose> Assigns a value to a COM component's property </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propset</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> This function is an alias for <function>com_set</function>. </para> </refsect1> </refentry> <refentry id="function.com-set"> <refnamediv> <refname>com_set</refname> <refpurpose> Assigns a value to a COM component's property </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_set</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Sets the value of the <parameter>property</parameter> of the COM component referenced by <parameter>com_object</parameter>. Returns <literal>true</literal> if <parameter>property</parameter> is set. Returns <literal>false</literal> on error. </para> </refsect1> </refentry> </reference> <refentry id="function.com-addref"> <refnamediv> <refname>com_addref</refname> <refpurpose> Increases the components reference counter. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_addref</function></funcdef> </funcprototype> </funcsynopsis> <para> Increases the components reference counter. </para> </refsect1> </refentry> </reference> <refentry id="function.com-release"> <refnamediv> <refname>com_addref</refname> <refpurpose> Decreases the components reference counter. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_release</function></funcdef> </funcprototype> </funcsynopsis> <para> Decreases the components reference counter. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->