タイトル : Declareステートメントで定義されたアンマネージdll関数呼出について 投稿日 : 2010/12/28(Tue) 18:09 投稿者 : テイラー
テイラーと申します。 Windows XP, VB2005でMDIアプリケーション開発を行っています。 ネット上では特にまとまった情報がなく、一方でVisualStudioのヘルプには基本的な例と言えるものがないので、こちらで質問したいと思うところです。技術的実体を把握せずに質問しているので、的外れな質問であったり、ある程度の規模の開発が必要になるようでしたら、関連情報の簡単な手がかりで良いので、ご教授頂ければと思います。 質問の内容ですが、開発中のMDIアプリケーションはVB2005で行い、子Formを文書1,2,3としてロードしていくとき、文書1,2,3Formについて、同じ名前のアンマネージdll関数をリンクさせ、内部のデータ領域に、文書1,2,3毎のデータを持たせながらロードしていく(予定の)プログラムとなっています。 問題になっているのは、アンマネージdll関数をDeclareステートメントで記述したクラスを、Lib_FunというVB2005のクラスで定義し、これを文書1,2,3Formでそれぞれインスタンスをロードして用いようとしていましたが、アンマネージdll関数は静的にリンクされた(?)のか、文書毎の個別のdll関数とはなりませんでした。 Assembly機能を用いて、Class Lib_Funをdllにしたものをインスタンスにして呼び出しても同じ結果となり、Lib_Fun内に記述したVB2005の記述によるパラメーターのみ個別のインスタンスに対応し、アンマネージdll関数は全てのインスタンスに共通1つのものとなっているようです。 実際にはThread機能を用いる物かもしれないと悩んでいるところです。 要は、アンマネージdll関数を、文書1,2,3それぞれに個別のものとしてリンク出来れば良いということです。 方向性としては合っているんでしょうか・・・ このような形のライブラリについて情報がありましたら、簡単な情報だけでもご教授頂ければと思います。 よろしくお願い申し上げます。 |