DLLについて

解決


VC++6.0  2007-02-20 18:11:41  No: 64512  IP: 192.*.*.*

Windows XP VC++6.0で開発しております。

DLLでエクスポートしたクラスについての質問です。

DLL内で
Aという基底クラス(Generic)を継承したクラスBAをエクスポートしています。

クライアント(.exe)からBAで公開しているメンバ関数へはアクセスできるのですが、BAを通してAにアクセスすると、
アクセスしている箇所でLinkエラーの、

error C2019〜

が発生してしまいます。
そこで、Aの関数をBA内でオーバーライドしてやるとビルドできました。

この場合、エクスポートしたクラスの基底クラスのメンバ関数へは、
エクスポートしたクラスにオーバーライドしないとアクセスできないのでしょうか?

編集 削除
yoh2  2007-02-21 02:04:34  No: 64513  IP: 192.*.*.*

オーバーライドしなくても、Aをエクスポートしてあげればよいです。

> BAを通してAにアクセス

これ、結局Aのメンバ関数にアクセスしているわけですから、Aのエクスポートも必要になるのです。

編集 削除
VC++6.0  2007-02-21 08:52:19  No: 64514  IP: 192.*.*.*

>>yoh2さん

エラーが取れました!
本当に助かりました!
ありがとうございました。

編集 削除