客先提供のC#で作成されたDLLをVC++6.0で使用していますが、
呼び出しが上手く行かないので教えて下さい。
タイプライブラリを作成し、#importしています。
ビルドしTLHファイルが作成されCoCreateInstanceも正常に行なわれます。
ただ、DLLには複数の関数がありますが呼出し事ができません。
気になるのは作成されたTLHファイルに該当の関数名がありません。
わかり難い説明で申し訳御座いませんが、
C#のDLLを扱うのが初めてで戸惑っています。
よろしくお願いします。
んー
そのC#のDLLに相当するバージョンのFrameWorkをインストールしていますか?
VC 6.0はC#のDLLには対応していないと思います。
そのC#のDLLに相当するバージョンのVCも必要になると思います。
VC2008以降だとC#の対応も楽になると思います。
タイプライブラリとかTLHファイルとか出てくるってことは、
インプロセスのCOMサーバかActiveXあたりですか?
であれば、TLHでなく、TLIファイルを見てください。
そこに所望の関数がないなら、本当に無いのだと思います。
>客先提供のC#で作成されたDLL
提供先と同じ開発環境にしたほうがいいと思います。
一度、聞いてみるのもいいと思います。
ラッパーのDLLを作ったらなんとかなりませんか。
皆さん回答ありがとう御座います。
ご指摘の通り、TLIファイルに関数が存在しなかったので
客先に見直して頂きました。
結果は、関数が外部から参照できないモードで作成されていました。
修正版で正常に動作しました。
ありがとう御座いました。