newcom

COMオブジェクト型変数の新規作成

newcom p1,p2,p3,p4

p1    : 変数名
p2    : インターフェース名、またはクラスID
p3(0) : 作成モード(オプション)
p4    : 参照元ポインタ(オプション)

解説

p1で指定した変数をCOMオブジェクト型として初期化を行ないます。
p1の変数がCOMオブジェクト型でない場合は、COMオブジェクト型として初期化されます。

すでにCOMオブジェクト型の場合、以前のオブジェクトは破棄されます。
p2でクラスIDかまたは、プログラムID(ProgID)を指定することができます。

	例:
	newcom ie, "InternetExplorer.Application"	; ProgID

上の例では、プログラムIDを使用して初期化を行なっています。
これにより変数ieは、COMオブジェクト型変数として初期化されます。
また、#usecom命令によりすでに定義されているインターフェース名を指定して初期化することが可能です。

	例:
	#define IID_IDirectMusicPerformance8 "{679c4137-c62e-4147-b2b4-9d569acb254c}"
	#define IID_IDirectMusicLoader8      "{19e7c08c-0a44-4e6a-a116-595a7cd5de8c}"
	#usecom IDirectMusicLoader8 IID_IDirectMusicLoader8 CLSID_DirectMusicLoader
	newcom loader, IDirectMusicLoader8

p3で作成モードを指定することができます。p3を省略した場合にはモード0となります。

モード    内容
------------------------------------------------------------------
  0       指定されたクラスのCOMをサーバーとして呼び出す
 -1       p4で指定されたポインタとするCOMオブジェクト型変数を作成

p3が-1の場合は、COMオブジェクトを新規に作成せずに、p4で指定された値を
ポインタとするCOMオブジェクト型変数を作成します。

COMオブジェクト型変数は、Windowsが持つCOMの仕組みをHSPから呼び出すための仕組みに使用されます。詳しくは、プログラミングマニュアル(hspprog.htm)を参照してください。

関連項目

#usecom外部COMインターフェースの指定
#comfunc外部COM呼び出し命令登録
delcomCOMオブジェクト型変数の破棄
axobjActiveXコントロールの配置
querycomCOMオブジェクト型変数の作成
comresメソッド返値代入変数を設定する
mcallメソッドの呼び出し

サンプル逆引き (10)

comtest1.hsp
comtest10.hsp
comtest2.hsp
comtest3.hsp
comtest4.hsp
comtest5.hsp
comtest6.hsp
getxls.hsp
itunes_mon.hsp
sapi_speech.hsp

情報

バージョン3.6
作成日2015/02/25
著作者onitama
URLhttp://hsp.tv/
備考ver3.6標準命令
タイプ内蔵命令
グループCOMオブジェクト操作命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\i_com.hs