| |
EXEC_ADD_INの実装(C#)EXEC_ADDONを、C#で作成しようと試みています。 ですが、うまくいかないのです。 初歩的なことなのかも知れませんがよろしくお願いいたします。
戻り値の型や引数をいくつかのパターンで試しています。 ヘルプではBasicで記述されておりますので、 型をC#用に変更しています。(<<これで間違っているのでしょうか?) 以下のようにいろいろ実装を試しましたがだめでした。 ----------- すべての関数は以下のように単にstringを返却しているだけのものです。(Addinの動作の確認のためだけなので) 戻り値の型 oProcessOperation(パラメータ) { return string; } ---------- 以下が実際に実装したコードです。
namespace EaAddin_ExecAddin001 { public class ExecAddin001 { static string strRtn = "Hello"; /* object oProcessOperation(ref EA.Repository Repository, params object[] args) //object oProcessOperation(ref EA.Repository Repository, object[] args) object oProcessOperation(EA.Repository Repository, params object[] args) //object oProcessOperation(EA.Repository Repository, object[] args) object oProcessOperation(ref EA.Repository Repository, ref object[] args) object oProcessOperation(EA.Repository Repository, ref object[] args) */ string oProcessOperation(ref EA.Repository Repository, params object[] args) //string oProcessOperation(ref EA.Repository Repository, object[] args) string oProcessOperation(EA.Repository Repository, params object[] args) //string oProcessOperation(EA.Repository Repository, object[] args) string oProcessOperation(ref EA.Repository Repository, ref object[] args) string oProcessOperation(EA.Repository Repository, ref object[] args) } }
--------------------- なお、呼び出し部分は以下のようにしています。 $result = "Hello_1" $result = %EXEC_ADD_IN("ExecAddin001","oProcessOperation","Test", "Test")% $result
$resultには何も格納されません。(コード上なにも書かれない) EXEC_ADD_INで、resultにNULL文字(?)を設定しているようです。
--------------------- また、アドインを登録後、 EAを立ち上げ、 [アドイン]->[アドインの管理] で表示される"アドインマネージャ"では、 "EaAddin_ExecAddin001"の状態が"有効"になっています。 EA自体はアドインを認識しているようです。
--------------------- ちなみに、環境は、 EA::6.5.798 OS::XP Pro .NET::v2.0.50727 VS::2005 です。
--------------------- 何がどう違うのか分かりません。
よろしくお願いいたします。
|