SHOJI's Code
仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++,JavaScript等)、その他雑記。
アクセスアップ・SEO対策・検索エンジン登録
2008.06<<12345678910111213141516171819202122232425262728293031>>2008.08
WSHでイベント処理 (JScript)
前回の書込みから2ヶ月経っている・・・(^^;

最近、ちょっと仕事も落ち着き、COMなどプログラミングしてみた。
で、検証用にWSHを使ってみたのだが、最初どうやってイベントハンドラを定義してよいかわからなかった。どうやら以下のようなコードでイベントを受理できるらしい。
var objTest = WScript.CreateObject("testcom.counter", "objTest_");

if( objTest )
{
msg( "CreateObject() succeeded." );

msg( "Default value is "+objTest.value );

objTest.inc();
objTest.dec();

for(var i=0;i<10;i++)
WScript.Sleep(1000);
}
else
msg( "CreatetObject() failed." );



function objTest_onchange(c)
{
msg( "(EVENT)Value changed. New value is "+this.value );
}

function msg(txt)
{
WScript.Echo( txt );
}


testcom.counterというProgIDのCOMを作ってテストしたときのWSHである。CreateObjectの第2引数でイベント受理用の関数のプリフィクスを指定する。上のCOMは値が変化したときにonchangeというイベントが発生するのだが、上のようなコードを書くとそのイベントが発生したとき、objTest_onchange関数がコールされる。
ただ残念なのは、この方法が使えるのがWSHのみで、html上のJavaScriptでは使えないということだ。
テーマ:JavaScript(ジャバスクリプト) - ジャンル:コンピュータ
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
無料ホームページ アフィリエイト レンタルサーバー FC2ブログ 一戸建て