Manuel PHP
Précédent |  | Suivant

# com_event_sink

(PHP 4 >= 4.2.3, PHP 5)

com_event_sink -- Connecte des évènements d'un objet COM sur un objet PHP

## Description

bool com_event_sink ( object comobject, object sinkobject [, mixed sinkinterface])

com_event_sink()connecte des évènements de l'objet COM comobject sur un l'objet PHP sinkobject. 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 celà en spécifiant dans le paramètre sinkinterface le dispinterface que vous souhaitez utiliser.

sinkobject devra être une instance de la classe avec des noms de méthodes suivant le dispinterface désiré ; vous devriez utilisé com_print_typeinfo() pour l'aide à la génération d'un gabarit de classe pour celà.

Soyez prudent sur l'utilisation de cette fonctionnalité ; si vous faîtes quelque chose de similaire à l'exemple ci-dessous, celà n'a pas de sens de le lancer sur un serveur Web.

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 "Quitter!\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.php.net");
while(!$sink->terminated) {
com_message_pump(4000);
}
$ie = null;
?>`

Voir aussi com_print_typeinfo() et com_message_pump().

Précédent | Sommaire | Suivant
com_create_guid | Niveau supérieur | com_get_active_object