SharedObject系列函數和共享對象有關的函數包括
SharedObjectRegister
SharedObjectGet
SharedObjectUnregister和SharedObjectDirectory函數
首先
用SharedObjectRegister函數初始化共享對象
並建立一個單獨的線程
如
SharedObjectRegister (
ccuo_thread
thread
) 其中ccuo_thread是一個共享的自定義類用戶對象的類名
thread
是共享對象實例的共享名
如果SharedObjectRegister函數返回Success
則新線程創建成功
然後
執行指定代碼
有兩種方法讓新線程執行指定的代碼
一種是在自定義類用戶對象的constructor事件中編寫腳本
新線程創建後就會自動執行該事件腳本
另一種方法是使用SharedObjectGet函數
該函數實現共享對象實例的引用
如
SharedObjectGet (
thread
inv_thread ) 其中inv_thread是用來存儲共享對象實例的一個對象變量
要求與ccuo_thread具有同一個類名
最後
通過使用Post語句
即以inv_thread
Post of_function(agrs)的形式
異步調用共享對象的函數of_function
在完成任務後
可以用SharedObjectUnregister函數中止線程
也可用SharedObjectDirectory函數列出所有有效的共享對象
一函數調用部分 本文所用Win
API函數原型為
Function Ulong FindWindowA ( String lpClassName
String lpWindowName ) Library
user
dll
Function Ulong GetTickCount ( ) Library
kernel
dll
Function Ulong GetDesktopWindow ( ) Library
user
dll
Function Boolean GetWindowRect ( Ulong hWnd
ref stc_rect lpRect ) Library
user
dll
Function Boolean MoveWindow ( Ulong hWnd
int X
int Y
int nWidth
int nHeight
Boolean bRepaint ) Library
user
dll
下面具體討論如何實現消息對話框的居中顯示
//聲明對象變量
ccuo_thread lccuo_thread
//創建新線程
SharedObjectRegister (
ccuo_thread
thread_center
)
//引用實例
SharedObjectGet (
thread_center
lccuo_thread )
//調用窗口居中函數
lccuo_thread
Post of_center (
#
Demostration
)
//創建消息對話框
MessageBox (
Demostration
Copyright(c)
by Y
L
Sun
)
//中止線程
SharedObjectunRegister (
thread_center
)
[] [] []
From:http://tw.wingwit.com/Article/program/PB/201311/24548.html