查詢

com_event_sink()函式—用法及示例

「 為一個已經存在的 COM/OLE 物件動態地分配一個事件處理介面 」


函式名:com_event_sink()

適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7

用法:com_event_sink() 函式是用於為一個已經存在的 COM/OLE 物件動態地分配一個事件處理介面。該函式將一個事件源與一個事件接收者關聯在一起。

語法:bool com_event_sink ( variant $comobject , mixed $sinkobject [, mixed $sinkinterface = "" ] )

引數:

  • $comobject:必需,一個有效的 COM/OLE 物件。
  • $sinkobject:必需,事件處理接收者物件。
  • $sinkinterface:可選,介面名稱,可以是字串表示的 IID,也可以是 PHP 型別名的字串。

返回值:成功時返回 TRUE,失敗時返回 FALSE。

示例:

// 建立 Word.Application 物件
$word = new COM("Word.Application");

// 定義事件處理接收者物件
class WordEventHandler
{
    public function OnQuit()
    {
        echo "Word application has been closed.";
    }
}

// 關聯事件處理接收者物件
$eventHandler = new WordEventHandler();
com_event_sink($word, $eventHandler, "DocumentEvents");

// 關閉 Word 應用程式
$word->Quit();

在上述示例中,我們首先建立了一個 Word.Application 物件。然後,我們定義了一個名為 WordEventHandler 的類,該類包含一個名為 OnQuit 的方法,該方法將在 Word 應用程式關閉時被呼叫。接下來,我們使用 com_event_sink() 函式將該事件處理接收者物件關聯到 Word.Application 物件上,並指定了介面名稱為 "DocumentEvents"。

最後,我們呼叫 $word->Quit() 方法來關閉 Word 應用程式,觸發事件處理接收者物件的 OnQuit() 方法,並輸出提示資訊 "Word application has been closed."。

補充糾錯
上一個函式: com_get_active_object()函式
下一個函式: com_load_typelib()函式
熱門PHP函式
分享連結