phpbar.de logo

Mailinglisten-Archive

[php] COM -> weitere Info

[php] COM -> weitere Info

Johann-Peter Hartmann php_(at)_phpcenter.de
Fri, 3 Aug 2001 13:02:19 +0200


Hi Andre,

Andre Steffens schrieb:

> $com = new COM("name.dll");
> $ergebnis = $com->function();
> $com->null;


	Nein, Du brauchst die Progid der
	Komponente (dh. des COM-Objektes).

	Ein schönes Tool, um eine Übersicht über die
	installierten Com-Objekte und Ihre
	Methoden, Interfaces und Eigenschaften zu
	bekommen ist der Scripting Spy von
	Dr. Tobias Weltner, siehe
	http://www.wininfo.de/ dazu.

	Nach dem Start ist im ersten Reiter eine
	Sammlung der verfügbarern Komponenten zu
	finden, also der Dinge, die man mit
	new COM(Progid) anfassen kann.

	Man findet dort z.B. das "Verzeichnis"
	InternetExplorer mit dem Inhalt
	"Application" - die Progid davon ist
	"InternetExplorer.Application", der
	komplette Aufruf also

	$ie = new COM("InternetExplorer.Application");

	Über einen Klick auf "Details anzeigen"
	kommt man auf den Reiter "Innenleben",
	in dem alle Interfaces, deren Eigenschaften
	und Methoden beschrieben werden.

	Es können alle Interfaces transparent angesprochen
	werden, eine Auswahl eines Interfaces ist nicht
	nötig.

	Will man den durch das new gestarteten
	Internetexplorer auch sehen, so muss man
	sich der Eigenschaft/Property "Visible" bedienen,
	die z.B. im Defaultinterface IWebBrowser2
	zu finden ist.
	Mit

	$ie->Visible=true;

	wird er sichtbar geschaltet.

	Jetzt möchte man damit aber auch noch eine
	Webseite ansteuern, und braucht hierfuer die
	Hilfe einer Methode, die im gleichen Interface
	zu finden ist, nämlich z.B.

	$ie->Navigate("http://www.thinkphp.de");

	Damit wird der Browser zu der Url geschickt, und
	beginnt diese zu laden, man könnte z.B. mit einer
	while-schleife ueber die Property Busy

	while ($ie->Busy) sleep(1);

	warten, bis die Seite angefordert worden ist.

	Ausschalten des ganzen geht über die Methode
	$ie->Quit();

	Die Installation des Scripting Spys lohnt
	sich definitiv, er gibt einem alle benötigten
	Informationen in die Hand.

	Viele Grüße
	- johann

	ps: Windows ist nicht wirklich mein Heimatsystem,
	    und ich kenne mich nicht richtig damit aus.
	    Aber dieses COM/Dotnet-zeug ist bei PHP
	    real hochspannend, nur umständlich
	    dokumentiert.
	    Hat jemand eine Ahnung oder einen Link,
	    wie der VARIANT-Kram funktioniert ?



php::bar PHP Wiki   -   Listenarchive