2012-01-04 11 views
1

JScriptまたはVBScript(Windows Script Based Host)で使用できるMFC ActiveXオブジェクトを作成するためのチュートリアルはありますか?Javascriptエンジンで使用できるActiveXを作成する方法

私はとして使用することができOCX意味:

var x= new ActiveXObject("name"); 

ませこの:

<object id="xxx" classid="CLSID:xxxx"> 

私はhtmlタグでのActiveXを使用できるようにし、彼ら見つけ、これまでのすべてをスクリプトエンジンで初期化できません。

+0

あなたはhttp://stackoverflow.com/questions/150814/how-to-handle-an-activex-event-in-javascriptを見ましたか? – MSalters

答えて

1

開始するまでは、A Beginner Tutorial for Writing Simple COM/ATL DLL and Using it with .NETThatsAlokをチェックアウトすることをお勧めします。

ActiveXオブジェクトを作成する際にさまざまな手法を試しましたが、ATL C++が自分のお気に入りの1つであることがわかりました。チュートリアルの重要な要点は以下のとおりです。Visual Studioが生成まかせのProgID(例えばSimpleATLcom.SimpleCom

  • を選ぶ
  • (例えばISimpleCom)C++でインターフェイスを命名Visual StudioのATLシンプルオブジェクトウィザード
  • を利用

    • あなたのCOM DLL

    一部を登録

  • 可能な限りあなたのためにできるだけ多くのコードチュートリアルではカバーしていないものは次のとおりです。

    • は、ユーザごとのリダイレクトのVisual StudioのWindowsからのJScript/VBScriptで呼び出す2008のサポート(Linker Property Pages上のMicrosoft MSDNの記事を参照してください)
    • を使用してCOMのDLLを登録することにより、Project Build Error PRJ0050を避けてくださいスクリプトホスト/ HTML

    後者は、すでにそれを行う方法を知っている、しかし、完全性について。 JScriptで、それはです:

    var obj = new ActiveXObject("SimpleATLcom.SimpleCom"); 
    

    そして、VBScriptで、それはです:

    Dim obj 
    Set obj = CreateObject("SimpleATLcom.SimpleCom") 
    
  • +0

    FYIとして、ATL C++メソッドはFireBreathプラグインが利用するメソッドです。これらは良いリソースです。 – taxilian

    1

    FireBreathこのようにプラグインを使用できます。 MFCは使用しませんが、MFCを使用する必要がある理由は指定されていません。

    +0

    ウェブサイトには、どこでも「オブジェクト」タグが使用されています。あなたはそれが可能であると確信していますか? –

    +1

    私はそれを書いた....はい、確信しています。 – taxilian

    +0

    それはちょうど本当に珍しいユースケースです、その方法はIEでしか機能しないからです。 btw、あなたがIRCの部屋に落ちたとき、私は眠っていました。 – taxilian

    1

    ただ、いくつかの追加オプションを追加する: 1.古いVB6のを非常に単純にActiveXの/ COMコンポーネントの作成に長けました。 2. DelphiやPowerBasicなどの他の言語もコンポーネントを簡単に作成できます。 3. VBScriptを使用して、comラッパーWSC(Windows Script Component)にパッケージされたcomコンポーネントを作成できます。これにはクラスとコードが含まれ、COMオブジェクトとして使用できます。 COM経由で呼び出されたときにWSCは外部スクリプトコンポーネントランタイムを使用してスクリプトを実行します。実際の内部コードは、jscriptやpythonなどの他のスクリプト言語で書くことができます。

    関連する問題