掲示板一覧   -   トピック一覧
   EA API
     C++でのアドイン開発


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-3-22 15:10

C++でのアドイン開発

作業者の関係で、Visual C++ 2005でアドインの開発をしようとしています。
『サンプルソースコード』ページより、C++アドインサンプルをダウンロードし、そのままビルド後登録作業を行いましたが
アドインマネージャを見ると状態が『エラー』となってしまいます。

空のプロジェクトとはいえ、メニュー追加などの動作を確認しようと思ったのですが、サンプルのままでは動かないのでしょうか?
それともVisual C++ 2005では開発は行えないのでしょうか?

また、C++でのアドイン開発の情報が少なく困っております。
非保証でも構いませんので、動作実績のあるソースなどはないでしょうか?

sugimoto
投稿日時: 2007-3-22 16:07
EA Administrator
投稿: 1895

Re: C++でのアドイン開発

C++のアドインサンプルは以下のページの一番下にある「C++アドインサンプル」と思います。
https://www.sparxsystems.jp/products/EA/tech/CreateAddin.htm#sourcecode

こちらのサンプルをMicrosoft Visual C++ 2005 でビルドし、
レジストリやDLLの登録を行ったところ、正常に動作しました。

アドインマネージャでエラーとなる原因はいくつか考えられますが、
以下についてご確認下さい。

1.以下のレジストリに、キーを新規追加した後、文字列を設定しますが、
 今回の場合、「sampleATL.SampleClass」になります。
 この文字列は合っていますでしょうか?
 HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins

2.1. の後、regsvr32.exe sampleATL.dll の実行が必要になりますが、
 こちらは成功していますでしょうか?

上記2項目について、ご確認下さい。


なお、「C++アドインサンプル」は空ではなくある程度動作いたします。
正常に動作するようになると、EA起動時にビルド番号のダイアログが
表示されるようになります。
また、メニューには"Sample"と表示され、要素を選んだ状態でこの
"Sample"を選択すると、要素名のダイアログが表示されます。


C++につきましては、VBやC#と比べると情報が不足しておりますが、
この「C++アドインサンプル」内の処理(特にEA_MenuClick())は
アドインを作成するための基本が記述されており、複雑なアドインで
なければこのサンプルの情報とヘルプを使用することで、作成いただけ
るのではないかと考えております。

また、C++で作成したアドインには、「自動更新チェック」アドインが
あります。「C++アドインサンプル」と同ページにてソースコードを
提供していますので、ご参考にしてください。

何かご不明点などございましたら、ご連絡下さい。
未登録ゲスト
投稿日時: 2007-3-22 16:55

Re: C++でのアドイン開発

sugimoto様
すばやい返信ありがとうございます。

指摘されたレジストリへの登録ですが、EAヘルプに書いてある
『値として、[project name].[class name]を指定します。』と
あったので、ヘッダファイルでのクラスの定義名『CSampleClass』を
用いて、『sampleATL.CSampleClass』としていました。
指摘の通り直した所、動作を確認しました。こちらの思い違いで大変失礼しました。

ただヘルプにあるclass nameという表現だと、ヘッダファイルにあるクラス定義の名称だと思ってしまうので、
注釈があった方がよいかなと思います。

ご丁寧な対応、ありがとうございました。
いろいろ頑張ってみたいと思います。
sugimoto
投稿日時: 2007-3-22 17:40
EA Administrator
投稿: 1895

Re: C++でのアドイン開発

動作したとのことで安心いたしました。

レジストリへ設定する情報は、COMが認識する情報になりますので、
今回の場合は、SampleClass.hで定義されているvi_progid()の内容
になります。

ヘルプの内容につきましては、確かに説明不足に思います。
こちらは、情報を追加し、改善いたします。

アドイン作成などにおいて、ご不明点がありましたらご連絡下さい。

今後ともよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ