問題タブ [managed-c++]
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.
c++ - デリゲートをネイティブ C++ API 呼び出しへのコールバックとして渡す
誰かがこのコードの何が問題なのか教えてください。C++ と MC++ を混在させるのは非常に難しい経験です。このテーマ (デリゲートの受け渡し) に関する多くのブログとチュートリアルを読みましたが、コードは問題ないように見えます (デバッグ モードでステップ バイ ステップでコンパイルして正常に実行されます) クラッシュします。
主な問題は、(他のクラス メンバーにアクセスする必要がある) メンバー関数である Delegate が必要なことです。
waveInProc のドキュメントに、コールバック内ではシステム関数を呼び出すことができないというメモがあることを思い出しました。他のメンバーを使用しようとしており、管理された環境がここで他のシステムメソッドを呼び出しているため、アプリケーションをクラッシュさせているのはこれでしょうか?
c++ - コンパイラが構造体を見つけられません。何を含める必要がありますか
更新: Windsows.hi を含める必要があると思いましたが、これを確認しましたが、含めると、次のようなメッセージがたくさん表示されます...
これを修正する方法がわかりません、eik!
PeekMessage を呼び出そうとしていますが、コンパイルしようとすると次のエラーが発生します。
'MSG' : 宣言されていない識別子 'HWND' : 宣言されていない識別子 'PM_REMOVE' : 宣言されていない識別子
私のコードは以下の通りです...
これらの構造が何であるかは知っていますが、コンパイラにそれらを認識させることができます。参照がありませんか、それとも VC++ エイリアスがありますか?
乾杯。
compiler-construction - あいまいな記号
誰でもこのエラーを助けることができますか?
c# - マネージドc++を使用せずにC#アプリにC++ dxレンダラーを埋め込むことは可能ですか?
C++ と directX で記述されたレンダラーがあります。(レベル / シーン / UI) エディターを書きたいと思っています。可能であれば/現実的には、C#/.net でエディターへのインターフェイスを書きたいと思います。
マネージ C++ の道をたどることなく、これはまったく実現可能ですか? マネージ C++ を使用せずに、レンダラーから C# アプリに必要なインターフェイスを公開できますか?
c# - マネージC++とC#の違いは何ですか?
C#の代わりにC ++を使用することの主な利点は、ネイティブコードにコンパイルすることです。これにより、パフォーマンスが向上します。C#の方が簡単ですが、マネージコードにコンパイルされます。
なぜ誰もがマネージC++を使用するのでしょうか?それは私たちにどのような利点をもたらしますか?
c# - C# から C++/CLI を呼び出すにはどうすればよいですか?
プログラムの算術計算を担当する C++ で実装されたクラスと、WPF を使用するインターフェイスがあります。入力を C# で処理しますが、C++ クラスをどのように使用できますか?
マネージ C++ ラッパー クラスを作成してそれと対話することについてのコメントを見たことがありますが、どこから始めればよいかわかりません。また、他のすべてのコードと一緒にコンパイルする方法もわかりません。これに関するチュートリアルを実際に見つけることができず、マネージ C++ で Google が表示するものは実際には役に立たないようです。
私を助けるためにそこに何かありますか?これは私には不合理に思えません。
編集m3rLinEz ソリューションを試しましたが、BadImageFormatException が発生しました。DLL が生成されていないためだと思います。私は言われたとおりにすべてをしました、私は何が起こったのか分かりません。何か案は?
.net - Managed C++ で BSTR から System::String オブジェクトを作成する - この方法は良い考えですか?
私の同僚は、次の方法でアンマネージ ライブラリから System::String オブジェクトに 2 バイト文字を入力しています。
GlobalFunctions::CreateObjectForRFCField は System::String オブジェクトを作成し、スペース (パディング用) で満たされて、アンマネージ ライブラリが最大長を次のように指定します。
また、GlobalFunctions::ReadRFCField() は、データをライブラリから作成された String オブジェクトにコピーし、スペース パディングを保持します。
現在、時折、_snwprintf 呼び出しでアクセス違反が発生することがあります。私の質問は本当に: 長さにパディングされた文字列を作成し (理想的には内部バッファーを事前に割り当てるために)、GCHandle::Alloc と上記の混乱を使用して文字列を変更することは適切ですか?
はい、私は System::String オブジェクトが不変であると想定されていることを知っています - 私は決定的な「これは間違っていて、ここに理由があります」を探しています。
ありがとう、エリ。
list - pin_ptr を汎用リストに入れる方法は?
String^ のリストをパラメーターとして受け取るマネージ C++ メソッドがあります。
このメソッドは、String^ 内のメモリへのポインターを使用してアンマネージ構造体を設定する必要があります。
WCHAR* の抽出は、PtrToStringChars で十分に簡単です
ただし、設計時に割り当てる pin_ptr の数がわかりません
以下のようなもので、固定されたptrをリストに追加したいと思います List< pin_ptr< const wchar_t>>
これを行うと、エラー C3225 が生成されます: 'T' のジェネリック型引数は 'cli::pin_ptr' にすることはできません。値型または参照へのハンドルでなければなりません
これを行う方法はありますか?マネージ C++ で