2016-09-02 7 views
-1

私はC#を初めて使用しており、アプリケーションでCOM DLLを利用する必要があります。.NETアプリケーションのCOM DLLの内容を表示

私は、元DLLに対してtlbimpを実行regsvr32と私の新しいDLLを登録している、ildasmDLLの内容を見た後、(私のC#プロジェクトの場合と同じキーを使用して)/ilasm /res /dll /keyを使用してDLLを再作成し、署名しました。 それから、新しいDLLGACに追加しました。

私は自分のアプリケーション内DLLreferenceを加算して出力DLL構造の各methodTypeにできています。

私は、値のarray(s)を持つように、このDLLを期待していますがgetメソッドを実行することができなかったと構造・ダンプ・ファイル内の任意の配列が表示されません。

期待している2つの配列は、INTSTRINGのタイプになります。使用してDLLのダンプがこのDLLは以下combobox

を移入することができるようになっているildasm

このDLLで値の配列が実際に存在する場合、誰かが私に教えてくださいすることができたり私の車輪の回転を停止する必要がある場合は?

___[MOD] 
    |  M A N I F E S T 
    |___[NSP] CSCICom_Usable 
    | |___[INT] CSCICom_Usable.Class1 
    | | |  .class interface public abstract auto ansi import 
    | | |  implements CSCICom_Usable._Class1 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 32 34 42 33 31 37 34 37 2D 41 46 42 36 // ..$24B31747-AFB6 ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.CoClassAttribute::.ctor(class [mscorlib]System.Type) = (01 00 1A 43 53 43 49 43 6F 6D 5F 55 73 61 62 6C // ...CSCICom_Usabl ... 
    | | 
    | |___[CLS] CSCICom_Usable.Class1Class 
    | | |  .class public auto ansi import 
    | | |  implements CSCICom_Usable._Class1 
    | | |  implements CSCICom_Usable.Class1 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.TypeLibTypeAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.TypeLibTypeFlags) = (01 00 02 00 00 00 00 00) ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 37 32 43 45 36 35 44 45 2D 46 30 42 38 // ..$72CE65DE-F0B8 ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.ClassInterfaceAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.ClassInterfaceType) = (01 00 00 00 00 00 00 00) ... 
    | | |___[MET] .ctor : void() 
    | | |___[MET] GetIncidentCodes : class [VBA]VBA.Collection() 
    | | 
    | |___[INT] CSCICom_Usable.Class2 
    | | |  .class interface public abstract auto ansi import 
    | | |  implements CSCICom_Usable._Class2 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 41 38 38 36 33 32 42 42 2D 41 46 46 31 // ..$A88632BB-AFF1 ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.CoClassAttribute::.ctor(class [mscorlib]System.Type) = (01 00 1A 43 53 43 49 43 6F 6D 5F 55 73 61 62 6C // ...CSCICom_Usabl ... 
    | | 
    | |___[CLS] CSCICom_Usable.Class2Class 
    | | |  .class public auto ansi import 
    | | |  implements CSCICom_Usable._Class2 
    | | |  implements CSCICom_Usable.Class2 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.TypeLibTypeAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.TypeLibTypeFlags) = (01 00 02 00 00 00 00 00) ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 41 30 43 39 46 42 45 45 2D 42 36 45 38 // ..$A0C9FBEE-B6E8 ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.ClassInterfaceAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.ClassInterfaceType) = (01 00 00 00 00 00 00 00) ... 
    | | |___[MET] .ctor : void() 
    | | |___[MET] get_Code : int16() 
    | | |___[MET] get_Name : string() 
    | | |___[MET] set_Code : void(int16) 
    | | |___[MET] set_Name : void(string) 
    | | |___[PTY] Code : int16() 
    | | |___[PTY] Name : string() 
    | | 
    | |___[INT] CSCICom_Usable._Class1 
    | | |  .class interface public abstract auto ansi import 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.TypeLibTypeAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.TypeLibTypeFlags) = (01 00 D0 10 00 00 00 00) ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 32 34 42 33 31 37 34 37 2D 41 46 42 36 // ..$24B31747-AFB6 ... 
    | | |___[MET] GetIncidentCodes : class [VBA]VBA.Collection() 
    | | 
    | |___[INT] CSCICom_Usable._Class2 
    | | |  .class interface public abstract auto ansi import 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.TypeLibTypeAttribute::.ctor(valuetype [mscorlib]System.Runtime.InteropServices.TypeLibTypeFlags) = (01 00 D0 10 00 00 00 00) ... 
    | | |  .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = (01 00 24 41 38 38 36 33 32 42 42 2D 41 46 46 31 // ..$A88632BB-AFF1 ... 
    | | |___[MET] get_Code : int16() 
    | | |___[MET] get_Name : string() 
    | | |___[MET] set_Code : void(int16) 
    | | |___[MET] set_Name : void(string) 
    | | |___[PTY] Code : int16() 
    | | |___[PTY] Name : string() 
    | | 
    | 
+0

続きますか?価値は何を表すべきですか? – 3615

+0

私はこのアプリケーションが2つの配列の値を与えることができると期待しています。もう1つは 'STRING'です。もう1つは' INT'です さらに、これら2つの値が互いに結びついていると思います。コード名 – gruff

+2

もしこれがダウンボートに値すると思ったら、少なくとも私が改善できるように説明してください。 – gruff

答えて

-1

だから私のCOM DLLを実施し、その平均時間に私自身のメソッドを代入して前方に移動した後。私は以来、&あなたはVBA.Collection()すなわち、配列を返す[MET] GetIncidentCodesていることがわかります上記のコード内には二つのこと

  1. を実現言われています。

  2. 私は、コレクションに2つのアイテムがあると言われました。私は彼らが0でなく、空ではないことを心から願っています.....しかし、それは私がこれまでに戻ってきたすべてです。

学習C#が、あなたが探している値の配列のどのような

関連する問題