downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

com_get_active_object> <com_create_guid
Last updated: Fri, 14 Aug 2009

view this page in

com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sinkConnecte des événements d'un objet COM sur un objet PHP

Description

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

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ètre sinkinterface le dispinterface que vous souhaitez utiliser.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

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



add a note add a note User Contributed Notes
com_event_sink
fjortiz
14-Jul-2005 09:33
In case someone needs a skeleton sink for ADODB.Connection events:

class ADOConnectionEventSink    {

    function BeginTransComplete( $translevel, $objerror, $status, $objconn )    {
        return 0;
    }

    function CommitTransComplete( $objerror, $status, $objconn )    {
        return 0;
    }

    function RolbackTransComplete( $objerror, $status, $objconn )    {
        return 0;
    }

    function WillConnect ( $ConnectionString, $userid, $psword, $options, $status, $objconn )    {
        return 0;
    }

    function ConnectComplete ( $objerror, $status, $objconn)    {
        return 0;
    }

    function Disconnect( $status, $objConn )    {
        return 0;
    }

    function WillExecute ( $src, $cursortyp, $locktyp, $options, $status, $objcomm, $objrs, $objconn )    {
        return 0;
    }

    function ExecuteComplete ( $recaffected, $objerror, $status, $objcomm, $objrs, $objconn )    {
        return 0;
    }

    function InfoMessage ( $objerror, $status, $objconn)    {
        return 0;
    }
}

// later on...
$db = new COM("ADODB.Connection", NULL, $charPage);
$sink = new ADOConnectionEventSink();
com_event_sink($db, $sink, "ConnectionEvents");
//...

com_get_active_object> <com_create_guid
Last updated: Fri, 14 Aug 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites