Mailinglisten-Archive |
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