com_event_sink
(PHP 4 >= 4.2.0, PHP 5)
com_event_sink — Connecte des événements d'un objet COM sur un objet PHP
Description
Connecte des événements de l'objet COM
comobject
sur un l'objet PHP
sinkobject
.
Soyez prudent sur l'utilisation de cette fonctionnalité ; si vous faites quelque chose de similaire à l'exemple ci-dessous, cela n'a pas de sens de le lancer sur un serveur Web.
Liste de paramètres
-
comobject
-
-
sinkobject
-
sinkobject
devra être une instance de la classe avec des noms de méthodes suivant le dispinterface désiré ; vous devriez utiliser com_print_typeinfo() pour l'aide à la génération d'un gabarit de classe pour cela. -
sinkinterface
-
PHP devrait être capable d'utiliser le type par défaut de dispinterface spécifié par la Typelib associée avec l'objet
comobject
, mais vous pouvez changer cela en spécifiant dans le paramètresinkinterface
le dispinterface que vous souhaitez utiliser.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Exemple de connexions d'événements COM
<?php class IEEventSinker { var $terminated = false; function ProgressChange($progress, $progressmax) { echo "Progression du téléchargement : $progress / $progressmax\n"; } function DocumentComplete(&$dom, $url) { echo "Document $url terminé\n"; } function OnQuit() { echo "Quit!\n"; $this->terminated = true; } } $ie = new COM("InternetExplorer.Application"); // notez que vous n'avez pas besoin du & en PHP 5! $sink = new IEEventSinker(); com_event_sink($ie, $sink, "DWebBrowserEvents2"); $ie->Visible = true; $ie->Navigate("http://www.example.org"); while(!$sink->terminated) { com_message_pump(4000); } $ie = null; ?>
Voir aussi
- com_print_typeinfo() - Affiche une définition de classe PHP pour une interface répartissable
- com_message_pump() - Traite un message COM dans un délai donné