dポイントプレゼントキャンペーン実施中!

ある制御装置をパソコンからの命令で動かしたいのですが,その装置の SDK が ActiveX コントロールの形で提供されています.プログラミングは VC++ で行いたいのですが,ActiveX を VC++ で利用する方法がイマイチわからず,困っております.

当方の環境は Visual Studio 6.0 または 2003 です.どちらでも利用できますが,できれば 2003 を利用したいと考えております.

まず MFC アプリケーションを作成し,ダイアログエディタで右クリック→ActiveX コントロールの挿入で,使用する ActiveX コントロールを貼り付けます.

ここまでは合っていますでしょうか? 

私の勉強不足で申し訳ないのですが,ここから先をどう進めてよいのかわかりません.

あくまでもイメージなのですが,その ActiveX が提供する関数を C コードの中で呼び出す,といった形で使用できないでしょうか?

わかる方いらっしゃいましたら,よろしくお願いいたします.

A 回答 (3件)

ClassWizradでラッパークラスを作成してください


それからそのクラスに対しての変数を宣言します。
ラッパークラスをちゃんと作らないと呼び出すことは出来ません。
 制御装置のメーカサイトにサンプルプログラムとかないですか?
文章だけで操作をお教えするには限界があります。
古い記事ですが
http://w3.fb.u-tokai.ac.jp/std/LIB/SampleDoc/vcr …
操作は同じです
    • good
    • 1
この回答へのお礼

非常に有益な情報ありがとうございます.

リンク先を参考にプログラムしてみたところ,かなりいいセンまでいくことができました.

しかし,生成されたラッパークラスにあるメソッドは,引数などが VC 側で一部変更されており,手元にある ActiveX の仕様書とは少し違ってしまっています.そのため,VC 側で変更された引数に何を与えればよいのかわからず,お手上げ状態になってしまいました.

お礼日時:2007/06/16 01:29

うーん!?仕様書と物が違うのは提供元に確認するしかないですね


もしかしてOposですか?
後仕様書はVB用だったらVCとは引数の型が違う事があります
    • good
    • 0
この回答へのお礼

確かに仕様書は,VB 用のものです.ただ,購入時に販売先に聞いたところ,VC でもプログラミングは可能とのことでした.

そこで,VC でのプログラミングについてサンプルコードなどもらえないかどうか販売先に問い合わせたところ,こちらには VB の開発環境しかないので,それは無理,と言われました…

とりあえず,引数として何を与えればよいのか,という問題については,それっぽい引数を片っ端から与えることでなんとか解決することができました.

SuperRINTA 様には大変お世話になりました.ありがとうございました.

お礼日時:2007/06/16 18:26

ActiveXを貼り付けたらウィザードでそのActiveXに変数をつけてください、m_OCXなどとします。


そうすることでm_Ocx->initialize()などとメソッドやプロパティに
アクセスできます。
    • good
    • 0
この回答へのお礼

早速のご回答,大変ありがとうございます.

ダイアログに貼り付けた ActiveX 上で右クリック→変数の追加,でしょうか?ただ貼り付けただけでは,変数の追加を選択することができません.右クリック→クラスの追加で,まずクラスを作るのかと思いましたが,クラスを作ってから再び変数を追加しようとすると,

ランタイムエラーが発生しました.デバッグしますか?

というダイアログが出ます.ここでデバッグすると,

拡張プロバイダでこのオブジェクトのエクステンダを返すことができませんでした.

というエラーが出ます.

何かやり方が間違っているのでしょうか?

お礼日時:2007/06/15 20:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!