問題タブ [managed]

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 投票する
2 に答える
6042 参照

c++ - 構造体の C++/CLI 配列をアンマネージ C++ にマーシャリングする方法

構造体配列をアンマネージ C++ dll に渡すための正しい構文を探しています。

私のdllインポートはこのように呼び出されます

私のクライアントコードでは

System::Runtime::InteropServices::Marshal には、このようなことを行うための便利なメソッドがたくさんあることは知っていますが、どれを使用すればよいかわかりません。

0 投票する
3 に答える
2972 参照

user-interface - C ++でのマネージド型とアンマネージド型の変換?

C++ で GUI を使用すると、テキスト フィールドは管理された文字列として格納されると思います。それらを標準の int、float、および string に変換する方法が必要です。何か助けはありますか?

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

.net - double* を配列に変換する方法(6)

6 つの double の配列を返す関数があります。

この戻り値をマネージド コードでキャストしたいと思います。

次のエラーが表示されます。

どうすればいいですか?

ありがとう。

0 投票する
8 に答える
2661 参照

c++ - ANSI C++ がマルチスレッドをサポートしていない場合、アンマネージ C++ アプリをマルチスレッド化するにはどうすればよいですか?

C++ はマルチスレッドのネイティブ サポートを提供していないと聞いたことがあります。マルチスレッド C++ アプリは、マルチスレッド用のマネージ コードに依存していると思います。たとえば、Visual C++ アプリは MFC や .NET などを使用して、マルチスレッド機能を提供していました。さらに、これらのマネージ コード機能の一部またはすべては、アンマネージ アプリケーションでは使用できないと想定しています。しかし、管理されていないマルチスレッド アプリケーションについて読んだことがあります。これはどのように可能ですか?私の仮定のどれが間違っていますか?

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

com - HOWTO: WindowsCE Compact Framework でアンマネージド C++ からマネージド C# インターフェイスを呼び出す

Windows CE 6 および Compact Framework のマネージ C# で記述された大量の新しいビジネスおよびコミュニケーション ロジックと組み合わせることで、新しい製品で使用したい UI を提供する広範なアンマネージ Windows CE 5 C++ コードがあります。

UI はビジネス ロジックを認識している可能性がありますが、ビジネス ロジックが UI を認識しないようにして、後でマネージ バージョンまたはフロントエンドとして選択したその他の UI に置き換えることができるようにする必要があります。

COM を Windows の世界でブリッジとして使用する方法を説明している記事を見つけましたが、WinCE の下で .NET CF に適用するのに苦労しています。過去に、タイプ ライブラリをインポートし、COM 呼び出し (CoInitialize()、CoCreateInstance()) を使用して、他の Windows プラットフォームのインターフェイスへのポインターを取得しました。同じ機能が WinCE で提供されていると仮定して、マネージ ライブラリの C# インターフェイスにアクセスするためのアンマネージ C++ ライブラリ。

これが私の問題です:タイプライブラリ。過去に '#import "SomeCPPLibrary.dll"' ステートメントを介して使用したため、マネージ C# ライブラリからは利用できません。これは .dll アセンブリに埋もれており、以前とは異なる方法で保存されているため、ライブラリ自体の #import を通じて直接利用することはできないと思います。typelib を #import できると思いますが、マネージ .dll から typelib を抽出する方法が見つかりません。インターフェイス定義ファイル (.idl) を一緒にハックして、プラットフォームの midl.exe を使用できるかもしれません。それから .tlb を生成するために、私の .idl とその結果の .tlb が実際に私の C# .dll にあるものと一致するという保証はありません。プラットフォーム midl.exe がこのように機能するかどうかはわかりませんが、機能すると仮定します。

  1. 私は間違った木を吠えていますか?対応する COM インターフェイスを介してアンマネージド C++ でマネージド C# インターフェイスを使用することは可能ですか?

  2. AssemblyInfo.cs ファイルで [assembly: ComVisible(true)] 属性を設定すると、マネージ アセンブリのすべてのインターフェイスが、AssemblyInfo.cs が定義する GUID を介してアンマネージ ワールドの COM を介して利用できるようになりますか?

  3. アンマネージ C++ ライブラリが #import できるように、マネージ .dll から typelib を取得するにはどうすればよいですか?

  4. マネージ C# ライブラリ プロジェクトをアンマネージ C++ ライブラリ プロジェクトの参照として追加しようとしましたが、うまくいきませんでした。このような状況では、そのような参照はまったく関係がありますか?

  5. アンマネージド C++ の世界からマネージド C# コードを呼び出すという基本的な問題を解決するためのより良い方法はありますか? ここで読んだのは、管理されていない/管理されているギャップを埋めるための管理された翻訳レイヤーを備えた混合モードのライブラリです。呼び出し応答速度は重要な要素であるため、これが良い戦略かどうかはわかりませんが、ある時点で UI をマネージド C# に書き直す予定であるため、長期的にはその方が良いかもしれません。より永続的なビジネス/通信ロジックをいじるのではなく、使い捨ての UI を使用しますか? この質問への回答に関係なく、好奇心以外の理由がなければ、COM の使用に関する問題を解決したいと思います。

0 投票する
4 に答える
71863 参照

native - ネイティブコードとマネージコードの違いは?

たとえば、GlowCodeプロファイラーのWebサイトを見ると、次のように表示されます。

「GlowCode6.2およびx64プロファイルのネイティブ、管理、および混合C ++、C#、.NETコード」

それらはどういう意味ですか?

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

c# - マネージド(C#)string[]配列をCOMDLLに渡す

セットアップ:
マネージドC#DLL内のメソッドを呼び出すCOMDLLがあります。この関数は、SAFEARRAYにマーシャリングされるC#string[]配列を返します。

問題:
safearray内の文字列にアクセスしようとすると、文字列の最初の文字しか取得されません。私は何が間違っているのですか?

コード:

助けてくれてありがとう、
-Sean!

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

c++ - Managed C++ でのマネージド オブジェクトの割り当て

gcnew を使用してオブジェクトを割り当てた後、nullptr をチェックする必要がありますか?

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

c# - マネージ コードを使用した Exchange メール添付ファイルの抽出

Exchange 2003 から届いた特定の拡張子のメール添付ファイルを、マネージ コードを使用して共有ディレクトリにコピーする方法を知っている人はいますか?

エクスポーズを交換するシンクを使用して、vbscript を使用する方法があることはわかっています。しかし、おそらく相互運用を使用して、誰かがマネージ コードのサンプルを見たことがあるかどうか疑問に思っていました??

サンプルコードは大歓迎です。

0 投票する
5 に答える
248 参照

windows - メソッドが .Net (マネージ) コードで Windows サービスから呼び出されているかどうかを確認する方法

マネージ コードで記述しているメソッドが対話型アプリから呼び出されているか、Windows サービスから呼び出されているかを確認するにはどうすればよいですか?