問題タブ [comvisible]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
157 参照

c# - .NET: オブジェクトとそのすべての下位オブジェクトを COM 可視にする

COM で表示する必要があるクラスを含む独自のアセンブリがあるので、それを他の (.NET 以外の) アプリケーションで使用できます。

次のようなクラスを想像してください。

これらのクラスは独自のものであり、COM からは見えません。私はそれらのソースコードを持っていません。現在の解決策として、継承された COM 可視クラスを提供する独自のアセンブリを作成しています。

これで、COM 経由で基本クラス (CProprietary) を使用できるようになりましたが、CComVisibleProprietary.oSubItem にアクセスすると、従属クラス (CProprietary2) のオブジェクトが非 COM 可視のまま返されます。

だから私の問題は、クラスとそのすべての子クラスを自動的にラップする方法が必要だということです。または、ComVisible 属性を子クラスに継承する簡単な方法はありますか? これらの独自クラスの一部のプロパティは、System.Windows.Forms.ListBox.ObjectCollection などの .NET のオブジェクトも返すため、同じ名前空間に属していません。

0 投票する
2 に答える
460 参照

delphi - Passing array of string from Delphi 7 to COM Visible C# .net DLL

I have a C# DLL (.NET 2.0 framework) which is setup as COM Visible.

The Interface is declared as

This class is registered by calling RegAsm.exe.

I tested this DLL in VB6 and it works okay.

Now I need to use this DLL in Delphi 7 (I have no prior knowledge with Delphi).

I use Tlbimp to generate the required files. It looks like I can already reference the DLL in Delphi, but it is not working:

The function signature is (from Delphi 7 Editor):

How should I pass the correct parameters into this DLL in Delphi?