問題タブ [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 に答える
208 参照

data-structures - C++: 異なるデータ型のコレクションを形成するための適切な解決策は何ですか?

コマンドラインインタープリターを書いていて、個々のコマンドのフォーマットをセットアップしようとしています。コマンドの名前、パラメーターの最大量、パラメーターの最小量などがあります。パラメータがどのようなタイプであるかの一種のコレクション、一種のプロトタイプが必要です。私が最初に考えたのは、ジェネリックなしでベクターを宣言することだけでしたが、その後、これは Java ではないことに気付きました。

「read test.dat 2」などのコマンドがあるとします。典型的な読み取りコマンドには文字列と整数があることを示す構造が必要です。

何か案は?

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

c++-cli - イベントをサブスクライブするためのC++/ CLI構文は何ですか?

私はいくつかの古いマネージC++コードを次のような行で更新しています:

どこ

  • EventSourceは、イベントを公開するクラスです
  • instanceOfEventSourceは、そのクラスのインスタンスです
  • EventSource :: MyEventHandlerDelegateは、イベントのデリゲートタイプです
  • MyEventHandlerMethodは、現在のクラス(「this」はインスタンス)内の(非静的)メソッドであり、署名がEventSource::MyEventHandlerDelegateと一致します。

C ++ / CLIでこれを行うための正しい構文は何ですか?

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

arrays - 配列を固定長配列に初期化する最良の方法は何ですか? (C++/CLI)

マネージ C++/CLI では、(1) のようにこれを行うことができます。

または (2):

しかし、私は明らかにできません(3):

私はできますが(4):

私が行方不明になっているより良い方法はありますか?次のようなものを書くためのシンプルでクリーンな方法が欲しいです:

ありがとう!

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

.net - Visual C++ GUI アプリが MTA モードでスタックする

奇妙な動作を示す C++ GUI プロジェクトがあります。私のマシンでは、コードは問題なくコンパイルおよび実行されます。ただし、別のマシンでは、コードはコンパイルされますが、何らかの形で MTA で実行されます。明らかに、MTA を使用すると、GUI にあらゆる種類の実行時の問題が発生します。これが私のメインです:

メインの最初の行にブレークポイントを配置してアパートメントの状態を確認できます。正しくビルド/実行されるマシンでは、予想どおり「STA」になります。ただし、問題のあるマシンでは「MTA」になります。アパートメント モードを STA に切り替えても効果はありません。

デバッグ/リリースディレクトリを削除して、コンパイルする前にプロジェクトをクリーンアップしようとしましたが、デバッガーを接続せずに実行しましたが、すべて役に立ちませんでした。どのマシンが動作し、どのマシンが動作しないかのパターンを特定できません。実行中のマシンで exe をコンパイルし、問題のあるマシンに実行すると、正しく実行されるため、ビルド環境の問題であると思われます。関連するすべてのマシンは、Visual Studio 2008 標準で Windows XP を実行しています。何か案は?

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

visual-c++ - In C++/CLI, what does the hat character ^ do?

I was reading Ivor Horton's Beginning Visual C++ 2008 and many of its CLR examples have this definition for main:

I went back, page by page, to the beginning of the book to find the first such instance with an explanation what it really means, but couldn't find one.

明らかにそれは標準と同じ意味ですが、いつ、なぜそれが実際に使用されるのか、そしてなぜそれが存在するのint main(int argc, char *argv[])かを知りたいです(ポインターと参照が表現できないことをしますか)?^*&

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

visual-c++ - アンマネージC++クラスからマネージC++クラスを派生させることはできますか?

管理されていないdllで記述した管理されていないC++クラスがあります。アンマネージdllを参照するマネージdllがあります。管理されたdllのクラスは、管理されていないクラスから派生できますか?

VisualStudio2008の使用

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

c++ - C++ DLL と Cpp/CLI コンソール プロジェクトの間でオブジェクトのベクトルを転送する

C++ サーバーと通信する C++ ライブラリ アプリがあり、カスタム クラス オブジェクトのベクトルを作成しています。しかし、私の Cpp/CLI コンソール アプリ (ネイティブ C++ と対話する) は、カスタム クラスの obj ベクトルを返そうとすると、メモリ違反エラーをスローします。

コードサンプル -

私のネイティブ C++ クラスでは -

私のCpp/CLIクラスで

正確なエラーメッセージ

タイプ 'System.AccessViolationException' の未処理の例外が CLIConsole.exe で発生しました -- これは私のコンソール cpp/CLI プロジェクトです

追加情報: 保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

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

c# - C++ CLI の暗号関数呼び出し

そこで、OCX オブジェクトのマネージド ラッパーである関数を呼び出そうとしています。大きな困難を抱えています。機能は次のとおりです。

ここで、「theBuffer」はバイト配列です。「foo」がラップするアンマネージド OCX のテンプレートは次のとおりです。

だから私は試しました。

これは失敗します。と

これはコンパイルされますが、明らかに呼び出された関数は.NETビットマップを作成しません。

したがって、問題は、この関数に書き込み可能なメモリ ブロックを渡し、.NET の世界でアクセスできるようにする方法だと思います。

ありがとう

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

c++-cli - C++/CLI 管理の Enum を配列の添字として使用する方法はありますか?

私は列挙型を次のように宣言しています

として宣言された配列

私はこのようなことをしたい: