曖昧な質問ですが、プラグイン対応のアプリケーションを実現する方法(サンプル等)を教えてください。
(VisualC++6〜.NET2003)
現時点の構想では、アプリケーションのインストールディレクトリに「Plugin」ディレクトリを用意し、プラグイン用DLLを配置、アプリケーションを起動すると、認識する・・・。
アプリケーションは単純なテキストエディタですが、プラグインにより、機能追加をしたいと思っています。
このようなプラグイン認識をする為には、アプリケーション側に必要な準備、プラグインDLLを作成するにあたり必要な事項等が決まっているのでしょうか?
うまく質問できませんが、アドバイスをお願いします。
一般的には、プラグインがエクスポートすべき関数の名前とインターフェイスを決めておきます。
アプリケーションは適切なタイミングで、プラグインがエクスポートしている関数を呼び出してやるのです。
シャノン様
回答ありがとうございます。
この場合のインターフェースというのはどのようなものですか?
インターフェースとして「APIを経由しましょう」みたいなものですか?
(問題外の発言でしたらすみません)
> この場合のインターフェースというのはどのようなものですか?
関数のインターフェイスと言えば、一般的には
・関数名
・呼び出し規約
・引数の型、数、順番
・戻り値の型
などを指すと思いますが。
(この場合は)「関数を呼び出すために、呼び出し側が知っている必要のあること」をインターフェイスと呼びます。
シャノン様
失礼しました。
インターフェイスの回答を見て思ったんですが、
幾つかの機能がDLL化されている通常のアプリケーションと
プラグイン対応のアプリケーションは
あまり差異がないのでしょうか。
プラグインというのはまさに、機能を外部 DLL 化したものです。
その差は、DLL をアプリ作者が作るか、作り方が公開されていて第三者も作れるかということだけでしょう。
シャノン様
なるほど・・・。
もっと特別な作りこみが必要だと思っていました。
大分敷居が低くなったような気がします。
(とはいえ、DLLについてもっと勉強が必要ですが)
ありがとうございました。
ツイート | ![]() |