D.N.A.
fukku****@zc5*****
2003年 5月 10日 (土) 20:58:15 JST
はじめまして。D.N.A.と申します。かなりDOMらせてもらってました。。。m(__)m たいした開発能力もなく、またレグネもあまり使っていない(使う機会がない…)の で、 協力どころか逆にご迷惑をおかけしてしまうかもしれませんが、ごれからよろしくお 願いいたします。 さて、早速なのですが、、、 「SimpleLog」のソースを見ていると、「TNsmPluginMain」という基本クラスがあ り、 そこからプラグインのメインの処理を行う派生クラス「TSimpleLogMain」が継承され て作られているようでしたので、 C++でプラグインの作成を楽にできるようなクラス「TNsmPlugin」なるものを作ろう と思いました。 が、「SimpleLog」ではDLLのエクスポート関数で、レグネプラグインでの実装が必須 となっている 「Initialize」「GetPluginInfo」などは、基本クラスのTNsmPluginMainの初期化関 数などを呼び出しているようでした。 しかし、これをいざC++で実装しようとするとなかなかうまくいきません。。 ここで質問なのですが、 エクスポート関数の内容を変更せずに、いつも派生したクラスの初期化関数などをう まく呼び出すような方法はありませんでしょうか? 「SimpleLog」でやっているように、エクスポート関数から基本クラスの関数をいく ら呼び出すような形にしても意味はないですし…。 なにか、1つグローバル変数を用意しておいて、そのなかに派生クラスのポインター を入れ、エクスポート関数でそれを使用するようにすればうまくいくかもしれません が…。 まだソースの読みが甘いだけかもしれませんが、自分ではこれくらいしか思いつきま せんでしたのでメールさせていただきました。 プラグイン作成の質問というよりも、技術的な質問ですが、お分かりになる方がいま したらよろしくお願いいたします。 …読み返してみるとかなりわかりにくい文章になってしまいました…。理解しづらい かもしれません…。申し訳ありませんm(__)m -+------+- D.N.A. fukku****@zc5*****