問題タブ [c++-cli]

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

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

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

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

.net - c++ (DATATABLE) でマネージド クラスをインスタンス化する方法は?

こんにちは、インスタンスを作成しようとすると、次のように C++ で Datatable
を作成しています。抽象クラスのインスタンスを作成できないため、コンパイル時エラーが発生します。ここでは、抽象的なキーワードは使用していません。

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

.net - C++ で IListSource インターフェイスを実装する方法

C++ から IListSource インターフェイスを実装したいと考えています。これには、1 つのメソッド GetList() と、ContainsListCollection という 1 つのプロパティが含まれています。

これを行うにはどうすればよいですか。C ++でプロパティをfalse/trueに設定する方法

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

c# - ネイティブC++DLLを.NETにラップするためのDLL依存関係を追跡する

.NETアプリケーションに公開したいC++DLL(コードなし)があります。

私が持っている/知っている/見つけたすべてのオプション(COM、P / Invoke、SWIGなど)を熟考した後、.NETクラスライブラリ(C ++ / CLI)を作成しています。これで、結果のDLL(クラスライブラリ)にも元のDLLとその依存関係が必要になります。私の問題は、そのようなことを自動的に追跡することにあります。そのため、ラッパーを使用するアプリケーションは、他の(ネイティブ)DLLを追跡する必要がありません(特に、元のDLLが新しい依存関係を開発する場合)。

より正確に(そして議論するために具体的な何かを持っている)、私はラップしようとしているので、クラスライブラリ(当然、に依存します)cmrを書きます。、、およびその他に依存します。(C#)プロジェクトに参照を追加しようとすると、Visual Studio(2005 SP1)がコピーし、すべての依存関係を残して、文句を言います(不足しているモジュールについてスローします)。、などをディレクトリに手動でコピーすると、問題が修正されました。MRcmrcmrPNLOpenCVMRMR.DLLFileNotFoundExceptioncmrPNLbin

面倒なことはありませんが、私の質問は次のとおりです。.NETアプリが1つのDLLへの参照のみを追加し、すべてが正常に機能する方法はあります

私はグーグルとSOを精査してきましたが、無駄になりました...

編集:mergebinは私が探しているものに最も近いようですが、.NETDLLを1つのネイティブDLLとのみマージできます。残念ながら、ネイティブDLLをマージすることはできません。

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

visual-studio-2008 - C# から呼び出された C++/CLI で使用される C DLL にブレークポイントを設定できない

C# の WPF プログラムの ViewModel である C++/CLI オブジェクトによって呼び出されるネイティブ C DLL があります。C DLL にブレークポイントを設定したいと考えています。それらを設定しようとすると、それらはグレー表示され、ヘルプ バルーンには、ブレークポイントが現在ヒットされないことが示されます。このドキュメントのシンボルは読み込まれていません。

プログラムを正常に実行するには、DLL、PDB、ILK、および LIB ファイルを C# メイン プログラムの中間ディレクトリにコピーするカスタム ビルド ステップを追加する必要がありました。それが問題と関係があるのではないかと思います。

読み込まれたモジュールのリスト ([デバッグ] - [Windows] - [モジュール]) を見ると、DLL が読み込まれ、その中のいくつかの関数が実行されたことがわかった時点で、DLL が表示されません。C# のメイン プログラムと、C DLL を呼び出す C++/CLI モジュールが表示されます。

これらのプロジェクトはすべて同じソリューションにあります。DLL をデバッグするには、ソリューションの別のインスタンスを実行する必要がありますか? 理想的には、ネイティブ DLL と呼び出し元の GUI コードをデバッグできるようにしたいと考えています。

ありがとう

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

c++-cli - DataTable にデータを追加するにはどうすればよいですか?

5 つの列を持つ DataTable にデータを追加するにはどうすればよいですか?

C++ (CLI) を使用しています。

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

c# - カスタム コントロールがドラッグ アンド ドロップ イベントを受信しないのはなぜですか?

私は C++/CLI でカスタム コントロール (Forms.Control の直接の子) を作成しました。これは、その処理のほとんどとすべての描画を別のレガシーな MFC コントロールにオフロードします。このコントロールを C# アプリケーションにラップしています。アプリケーションの同じフォームの UserControl から C++/CLI コントロールにアイテムをドラッグできるようにする必要があります。

何らかの理由で、AllowDrop を true に設定しているにもかかわらず、カスタム コントロールがドラッグ アンド ドロップ イベントをまったく受信しません。(AllowDrop が実行時に true であることを確認しました。) コールバックが呼び出されないため、DragEventArgs を調べたり操作したりする機会がありません。

それ以外の場合、ドラッグ アンド ドロップが正常に機能することを確認しました。たとえば、カスタム コントロールを Panel に置き換えると、dragdrop コールバックが正常に取得されます。

ドラッグドロップ コールバックをサポートするために、コントロールに実装する必要がある追加機能はありますか? コントロールがホバーされており、ドラッグドロップ操作のターゲットであることをシステムが認識するために対処しなければならない微妙なことがありますか?

ノート:

OnPaintBackgroundペイントを行う MFC コントロールはまだ利用できないので、ペイントしようとしている単純なグラデーションの背景を ( 経由で) ペイントしています。で小さなグラデーションの長方形もペイントしていOnPaintます。

カスタム コントロールのハンドルが作成される前 (デザイナー/コンストラクター コード経由) とハンドルが作成された後 (OnHandleCreated オーバーライド経由) の両方で、AllowDrop = true を設定しようとしました。動作に違いはありません。

ドラッグ カーソルは、カスタム コントロール上のデフォルトの「ドラッグ不可」カーソルから変更されることはありません。

UserControl のサブコントロールのイベントthis.DoDragDrop()のイベント ハンドラーから呼び出しています。MouseDown

DragDrop は、ユーザー コントロールと同じアセンブリで C# で作成した別のカスタム コントロールで正常に動作するようです。コールバックをうまくキャプチャします。私の C++/CLI コントロールだけがそれらを認識していません。initializecomponent goo は関係ありません。変更なしですべてコメントアウトできます。

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

c# - C++ から C# コードを呼び出す

C++ から任意の C# 関数を呼び出せるようにする必要があります。http://www.infoq.com/articles/in-process-java-net-integrationは ICLRRuntimeHost::ExecuteInDefaultAppDomain() の使用を提案していますが、これでは次の形式のメソッドしか呼び出せません。int method(string arg)

任意の C# 関数を呼び出す最良の方法は何ですか?