phpbar.de logo

Mailinglisten-Archive

[php] Artikel bei ZDNET

[php] Artikel bei ZDNET

Tobias Ratschiller tobias_(at)_dnet.it
Fri, 28 Jan 2000 15:25:18 +0100


> Zeev hatte damals gemeint, die Funktionen kommen durch Overloading
> zustande und sind deshalb nicht zu dokumentieren. Dann gibt es noch
> Probleme diese objektorientierten Dinger in das DocBook-Schema zu
> pressen. Wenn diese COM-Funktionalität erst mal dokumentiert ist, dann
> wird auch Sam Ruby den Java-Support und die JSP (Java Server Pages)
> dokumentieren.

Da würde ich Zeev nochmal fragen, es funktioniert auch mit 3.x recht
zuverlässig:
int com_load (string component_name);
Instantiates a COM component and creates a reference to it. The returned
integer value must be used in the following com_*() calls. Returns false and
throws a warning if an error occurs.

mixed com_invoke (int com_identifier, string function_name[, mixed
argument1[, ...]]);
Invokes a COM component's method and returns the method's return value. The
first argument of the function is a valid COM identifier as created with
com_load(). The second argument must be the name of a component method. As
optional third and following arguments, you can specify arguments for the
invoked method. This function returns false on error.

bool com_set (int com_identifier, string property_name, string
property_value);
Assigns a value for a property on the COM object instantiated in com_object.
Alias for this function are com_propset() and com_propput(). Returns true on
success and false on error.

mixed com_get (int com_identifier, string property_name);
Returns the value of a property on the COM object instantiated in
com_object. Alias for this function is com_propget(). Returns the property's
value on success and false on error.

In PHP 4 stehen diese Funktionen nicht zur Verfügung, und man verwendet
stattdessen die Klasse Com. Bei der Instanzierung gibt man die Komponente
an:
$conv = new COM("Softwing.EDConverter");

Danach arbeitet direkt auf dieser Klasseninstanz:
$ret = $conv->Triangulate(10000, "ITL", "DEM");
print($ret);

Triangulate() ist eine Funktion der COM-Komponente.

Für Eigenschaften, die nicht als PHP-Variable ausgedrückt werden (z.B., weil
sie einen Punkt enthalten), kann man com_get() und com_set() verwenden.

bool com_set (class com_object, string property_name, string
property_value);
Assigns a value for a property on the COM object instantiated in com_object.
Alias for this function are com_propset() and com_propput(). Returns true on
success and false on error.

mixed com_get (class com_object, string property_name);
Returns the value of a property on the COM object instantiated in
com_object. Alias for this function is com_propget(). Returns the property's
value on success and false on error.

BTW: Es gibt <classname> in Docbook; Klassenmethoden müssten dann halt
traditionell mit <funcdef> und <function> angegeben werden.

Mit freundlichen Grüßen,
  Tobias Ratschiller
--
<?print(pack("c*", 74,117,115,116,32, /* Tobias Ratschiller   */
65,110,111,116,104,101,114,32,80,72   /* New Media Consultant */
,80,32,72,97,99,107,101,114,46,10));  /* http://phpWizard.net */?>



php::bar PHP Wiki   -   Listenarchive