問題タブ [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.
dll - マネージ DLL から実行可能パスを取得する方法
C# 実行可能ファイルで使用されるクラスを含むマネージ DLL (C++/CLI で記述) があります。クラスのコンストラクターで、DLL を参照する実行可能ファイルのフル パスにアクセスする必要があります。実際のアプリでは、Application オブジェクトを使用してこれを行うことができますが、マネージ DLL からどのように行うことができますか?
.net - WindowsC ++ / CLIでアプリケーションの実行可能ファイル名を取得するにはどうすればよいですか?
実行可能ファイル名に基づいてアプリケーションの機能を変更する必要があります。大きなものは何もありません。表示される文字列といくつかの内部識別子を変更するだけです。このアプリケーションは、ネイティブコードと.NetC++-CLIコードを組み合わせて作成されています。
私が見た2つの方法は、Win32のGetCommandLine()関数を解析することと、.NetのAppDomainやその他のものを詰め込むことです。ただし、GetCommandLineの使用は、デバッガーから実行した場合のコマンドラインが空であるため、常に機能するとは限りません。そして、.Net AppDomainのものは、たくさんの詰め物を必要とするようです。
では、C ++ / CLIで実行可能ファイル名を決定するための最も優れた/最も単純な/最も効率的な方法は何ですか?(.Netで利用できる単純なものを見逃してしまったことを願っています。)
編集:私が言及しなければならないことの1つは、これはC ++ /CLIを使用するWindowsGUIアプリケーションであるため、従来のCスタイルのメイン関数にアクセスできず、Windows WinMain()関数を使用することです。
.net - C++.net でマネージド型に参照またはポインターを引数として渡す
私はこれに本当に困惑しています.VB、アンマネージドC++、およびC#でこれを行う方法を知っていますが、何らかの理由でC++でマネージド型のref変数を受け入れることができません. 本当に簡単な答えがあると確信していますが、C#の同等物は次のとおりです。
私は C++ ポインタを試しました - ダイスはありません。私はrefキーワードを試しました。サイコロはありません。[out]
キーワードにしてみました。うまくいきませんでした。
私の問題を明確に説明しているドキュメントも見つかりません。
wpf - Windows フォーム UserControl オーバーライドが呼び出されない
UserControl から派生した Windows フォーム コントロールを作成して、WPF アプリに埋め込みます。私は通常、このリンクに記載されている手順に従いました。
そして私のCPPファイルでは:
すべてがコンパイルされて実行されますが、OnPaint メソッドが呼び出されることはありません。
探すべきもののアイデアはありますか?私はC++で多くのことを行ってきましたが、WinFormsとWPFにはかなり慣れていないので、明らかなことかもしれません...
c++-cli - Managed C++ を C++/CLI に変換するツールはありますか?
Managed C++ 構文を使用して記述された古いプロジェクトがあります。私は、合理的に痛みのない更新方法をチームに提案したいと思います (私はある程度の人間とのやり取りは気にしません。まだ手作業で作業をしなければならないという私の予想では現実的だと思います)。 XML ドキュメントを追加できるように、既存のコードを C++/CLI 構文に変換します (プロジェクトは他のプロジェクトへのライブラリであり、ドキュメントがあると非常に便利です)。
では、これを支援する優れたツールはありますか? それとも、新しい C++/CLI 構文コンパイラに切り替えて、エラーを修正するだけのケースですか?
c# - Native C++ から C++\CLI への移行をお勧めしますか?
ここ数年、ネイティブ C++ プログラマーとして働いています。今、私たちはゼロから新しいプロジェクトを始めています。では、プラットフォームに依存しないコードを犠牲にして C++\CLI に移行することについてどうお考えですか。C++\CLI に移行することで得られる特別な利点はありますか?
delegates - C++/CLI で boost::bind を使用してマネージド クラスのメンバーをバインドする方法
私はネイティブ C++ クラスで boost::signal を使用しています。現在、ネイティブ C++ コールバックを .NET イベントとして公開できるように、C++/CLI で .NET ラッパーを作成しています。マネージ クラスのメンバー関数のアドレスを取得するために boost::bind を使用しようとすると、コンパイラ エラー 3374 が発生し、デリゲート インスタンスを作成しない限り、メンバー関数のアドレスを取得できないというメッセージが表示されます。boost::bind を使用してマネージド クラスのメンバー関数をバインドする方法を知っている人はいますか?
明確にするために、次のサンプル コードではコンパイラ エラー 3374 が発生します。
c++-cli - マネージ C++/CLI クラスの auto_ptr または shared_ptr に相当するもの
C++/CLI では、マネージド クラスでネイティブ クラスのメンバーを保持することは許可されていないため、マネージド クラスでネイティブ型を使用できます。その場合はポインターを使用する必要があります。
例を次に示します。
C++/CLI の世界で shared_ptr に相当するものを知っている人はいますか?
編集:「1800-Information」という提案をありがとう。あなたの提案に従って、STL.Net について確認しましたが、Visual Studio 2008 でのみ利用可能で、コンテナー + アルゴリズムを提供しますが、スマート ポインターは提供しません。
c++ - C ++CLIはC++のスーパーセットですか?
C ++ CLIコンパイラは、変更なしでC ++クラスのいくつかの大きなセットをコンパイルできますか?
C ++CLIはC++のスーパーセットですか?
c++-cli - C# や VB.NET のようにサポートされている場合、C++/CLI を使用しますか?
私はずっと C++/CLI に興味がありました。たぶん、多くの開発者がそれを使用していないためです...または単に異なるためです.
Microsoft が VB.NET や C# (つまり、LINQ、WPF など) と同様に、C++/CLI を完全にサポートしているとします。使いますか?
そうでない場合、なぜですか?