掲示板一覧   -   トピック一覧
   EA API
     EAアドインでメニューが表示されない


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
umesan
投稿日時: 2023-8-16 10:48
EA Administrator
投稿: 1515

EAアドインでメニューが表示されない

サポート宛にいただきましたご質問の要約です。

○ご質問
EAのアドインを作成したく https://www.youtube.com/watch?v=D6IVxzSW-CE の動画をそのままトレースする形でvisual studio 2019を使って作ってみました。

動画の通り、ビルドは成功して、デバッグモードでEAが起動するところまで進みましたが、EAの「アドイン・拡張」メニューには何の変化も起きませんでした。

visual studio 2019側のコードで、EA_GetMenuItems() の中の行にブレークポイントを設定しても、トリガーが引っ掛からない(止まらない)ので、おそらく public object EA_GetMenuItems(EA.Repository Repository, string MenuLocation,
string MenuName) のハンドラが呼ばれていないのだと思っています。

レジストリの設定は
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Sparx Systems\EAAddins64\Test4
にキーとして ClassLibrary1.Class1 を追加しました。

Enterprise Architectは 64ビット版を利用しています。

他に何か設定する必要があるでしょうか?

○回答
頂きました現象から、おそらく、EA64ビット版に対するDLL登録が正しく行われていないものと推測いたします。

下記URLの EAアドイン作成セミナーの資料内にあります、SeminarSlides.pdf の 以下を参考に対応頂けますでしょうか?

P.65-66 「アドインが動作しないときは」
P.60 「DLL登録」(DLL登録の注意)

◇Enterprise Architectアドイン作成セミナー
https://www.sparxsystems.jp/seminar/EAAddin.htm


youtube の動画では、EAは バージョン15.1であるため 32bit版となっております。そのため、EA16以降の64ビット版利用時のDLL登録時は追加操作が必要となっております。

具体的には、上記EAアドイン作成セミナーの資料の「DLL登録の注意」の以下記載で対応頂けるかと考えます。

>Visual Studioにおいて「COM相互運用機能の登録」がオンの場合でも、プ
>ラットフォームターゲットがAny CPU の場合、32ビットのRegAsm.exeが実行
>される場合があります。そのためEA16以降の64ビット版利用の場合、プラッ
>トフォームターゲットを一時的にx64 設定し、64ビットのRegAsm.exe が実行
>されるようにする必要があります。

お手数をおかけいたしますが、以上で解決頂けるかご確認よろしくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ