2016-08-05 4 views
0

メニューを含むC#で追加したEAを作成しました。メニュー項目をクリックすると、EA_MenuClickが呼び出されます。これは、モデルファイルが開かれている場合にのみ機能します。モデルファイルが開かれていない場合は、「オブジェクトのインスタンスに設定されていないオブジェクト参照」というメッセージがスローされます。C#のブロードキャストイベントへのアクセス

モデルファイルを開いていないのにフォームを表示するにはどうしたらいいですか?研究の後、私はファイルオープンブロードキャストを制御できるので、C#でこのメソッドにアクセスして変更する方法を知りました。私はInterop.EAは全体のEAのAPIが含まれているEA_Fileopen機能に おかげ

+0

Wordが開いていないとWordのメニューをどのように表示しますか? –

+0

モデルを開く必要なしに 'EA_MenuClick'イベントを使用できるので、間違っている必要があります。 nullpointer例外が発生する理由を理解するために、コードをデバッグしてください。 –

答えて

1

を取得するために追加する必要があり、他の参考どのよう私がInterop EA.dllを追加したrefrenceで

、追加される追加の言及はありません。

エラーが発生するのは、リポジトリが開いていることを最初に確認せずにリポジトリの内容にアクセスしようとしているためです。 RepositoryパラメータがEA_MenuClick()であることを確認する必要があります。

リポジトリが有効かどうかをチェックするメニュー状態ハンドラ(EA_GetMenuState())を追加して、開いているリポジトリを必要とするすべてのメニュー項目に対してIsEnabledをfalseに設定する必要があります。これによりそれらは無効になり、EAはEA_MenuClick()を呼び出すことができなくなります。

関連する問題