掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLからWindowsMediaPlayerコンポーネントを使用するには? (ID:4399)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
フォームの「所有者」は「誰」なのでしょうか。 推測で2通り書いてみます。 アプリケーションが、DLLをLoadLibraryして、その中で(Application側が呼び出そうと、DLL側が呼び出そうとどちらでも)、「DLLが持っているフォーム」を呼び出している場合。 アプリケーションのApplicationオブジェクトと、DLLのApplicationオブジェクトが違うために、フォームの所有者が変わるためうまく動かないのだと思います。 DLLに初期化関数を用意して、アプリケーション側のApplicationを渡して、DLL側でApplication変数に渡されたオブジェクトを入れればよろしいかと思います。 アプリケーションが、DLLをLoadLibraryして、DLL側の関数から、アプリケーション側のフォームを呼び出している場合。 アプリケーション側とDLL側のFormの定義は同じでしょうか。 同じでなければ、アプリケーション側のフォームを、DLL側から操作することはできません。 # すでにある同じプロパティなどは操作可能です アプリケーション側で、Formを操作するラッパー関数をexportしておき、それを呼び出すようにするのが簡単です。 もし、このあたりに問題がなければ、アプリケーション側でOleInitializeしていますか? していないとActiveXがうまく動かないかもしれません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.