downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  

<com_create_guidcom_get_active_object>
Last updated: Thu, 26 Jun 2008

com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sink — Connect events from a COM object to a PHP object

Description

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

Instructs COM to sink events generated by comobject into the PHP object sinkobject .

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

Parameters

comobject

sinkobject

sinkobject should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

sinkinterface

PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject , but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 COM event sink example

<?php
class IEEventSinker {
   var
$terminated = false;

   function
ProgressChange($progress, $progressmax) {
     echo
"Download progress: $progress / $progressmax\n";
   }

   function
DocumentComplete(&$dom, $url) {
     echo
"Document $url complete\n";
   }

   function
OnQuit() {
     echo
"Quit!\n";
    
$this->terminated = true;
   }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for 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;
?>



add a noteadd a note User Contributed Notes
Connect events from a COM object to a PHP object
There are no user contributed notes for this page.




<com_create_guidcom_get_active_object>
Last updated: Thu, 26 Jun 2008
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://phpbuilder.com/
Last updated: Tue Nov 1 20:20:59 2005 EST
Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs