問題タブ [c++-cx]

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

windows-8 - C++ for Windows Metro アプリでリソース イメージから WritebleBitmap を作成する方法は?

次のコードを使用して、リソース JPG イメージ ファイルから BitmapImage を簡単に作成できます...

しかし、WritableBitmap は Uri を取りません。SetSource メソッドが表示されますが、Uri ではなく IRandomaccessStream が必要です。そして、JPGファイルから作成する方法がわかりません。ネットで何度も検索しましたが、明確な答えを見つけることができませんでした。どんな助けでも大歓迎です。

こんなものが欲しい…

しかし、uri から IRandomaccessStream インスタンスを取得するにはどうすればよいですか? 私は今日だけ C++ Metro アプリの作業を開始したので、間違っているかもしれませんが、タマネギの皮が多すぎて複雑すぎることがわかりました。

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

c++ - プロパティを持つクラスを使用して C++/CX でコピー コンストラクターを作成する方法

C++/CX 初心者です。X と Y の 2 つのプロパティを持つ Vector クラスを作成したいと考えています。

標準 C++ では、コピー コンストラクターは次のとおりです。

これを C++/CX に次のように変換します。

クラスは次のとおりです。

ヘッダ:

実装:

しかし、v->X を this->X as: no instance of function "Vector::X::get" に引数リストとオブジェクト (一致を防ぐ型修飾子としてのオブジェクト) が一致しないと、エラーが発生しました。

コピーコンストラクターを正しく実装するには?

ありがとう。

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

datetime - Metro (C++/CX) アプリで日付を解析するにはどうすればよいですか?

ファイルから一部のデータを処理する C++/CX アプリがあります。日付を保存するために使用されたカルチャを表す文字列がそこにあり、いくつかの日付があります。それらを文字列から Platform::DateTime に変換する必要があります。Windows::Globalization::DateTimeFormattingが使用するクラスだと聞いたことがあり ますが、それを使用する方法がわかりません。誰にも例がありますか?

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

visual-studio-2012 - WinRT の C4965: 整数 0 の暗黙的なボクシング

0VS 2012 では、予期される場所を通過するときに、エラー C4965 (Implizites Boxing mit ganzer Zahl 0. Verwenden Sie "nullptr" oder eine explizite Umwandlung) が発生しPlatform::Object^ます。このコードの意図は、null 参照ではなく、整数値 0 を渡すことです。どうやら C++/CLI などで __box キーワードが使えるらしいのですが、これは C++/CX コンパイラでは認識されません。

では、この警告を抑制し、ボックス化された WinRT 整数を作成する適切な方法は何ですか?

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

windows-8 - Windows8MetroはマネージC++/CLIをサポートしますか

この質問に対する答えはどこにも見つからないようですが、Metroはマネージ拡張C ++をサポートしますか?現在、Visual Studios 2012 RCではそうではありません(Metroのみ)。

私はc++/ cliで書かれたいくつかのフレームワークを持っていて、それらをMetroに移植したいと思っていました。私はc++/ cxが似ていることを知っていますが、私のc ++ / cliオブジェクトはC#で書かれたものから派生しており、システムのその部分を書き直さなければならないのは面倒です(ただし、そうする場合は、ここからどこに行くかを知る必要があります)。

Windows 8が実際に発売されたときにそれをサポートする計画があれば、私は待つことができます。または、そうでない場合は、移植に取り掛かることができるように、今すぐ知りたいと思います。

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

c++ - Platform::String を char* に変換するには?

Platform::String の内容を変換して、char* ベースの文字列を期待する関数で使用するにはどうすればよいですか? WinRT がこのためのヘルパー関数を提供していると思いますが、それらを見つけることができません。

ありがとう!

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

c++ - JSONISO8601の日付をC++/CXで解析します

JSON "2012-08-01T15:42:06Z"からの日付文字列があり、Windowsランタイムで解析したいと思います。私の知る限り、これを処理できるのはCOleDateTimeだけです。

「T」と「Z」の文字を取り出したときにのみ文字列を正しく解析することができますが、それは私の側に余分な解析ステップを追加します。

作品:

失敗:

誰か考えがありますか?

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

windows-runtime - c++/cx の構造体で構造体のベクトルを使用する

コードで使用するいくつかの構造体を定義するヘッダー ファイルがあります。

これをビルドすると、次のエラーが発生します。

ここで何が欠けていますか?私が使っているものはすべて C++/Cx ではないですか?

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

c# - C ++ / CXコンポーネント「パブリック列挙型クラス」がC#Metroアプリで正しくリンクされない

開発中のAPIiveでD3D11呼び出しをラップしようとしています。

C#で使用しようとしているC ++/CXコンポーネントライブラリを作成しました。C ++ / CXコンポーネントとC#プロジェクトが同じソリューションに含まれている場合、これは単純で簡単です。すべてが正常に機能します...

...しかし、独自のソリューションでC ++ / CX APIコンポーネントを作成する場合は、2番目のC#Metroアプリソリューションを作成し、それにC ++ / CXコンポーネント「プロジェクト」を追加してから、C#MetroアプリにC ++/CXコンポーネントを参照させます。プロジェクトC++で宣言されたパブリック列挙を使用しようとすると、ランタイムエラーが発生します。

これが私のC#アプリがリンクできないように見えるパブリック列挙型クラスエラーです。

「Windowsランタイムタイプ'Reign.Video.D3D11.FeatureLevels'が見つかりませんでした。」

テスト用のC#アプリでC ++ / CXの「API」を正しくリンクできないように見えるので、これは非常に苛立たしいことです。メトロでC++で作成されたAPIをどのように生産的にテストすると思いますか?同じソリューションがない限り、C ++ / CXコンポーネントをC#プロジェクトにリンクすることはできません。また、C ++ / CXプロジェクトをC#ソリューションにリンクしてそこからリンクしようとすると、ランタイムエラーが発生します...

編集:これが私の問題を示すデモのダウンロードリンクです: ダウンロード

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

windows-runtime - WinRT トースト イベントを UI スレッドに取得するには、手動ディスパッチが必要ですか?

ネイティブ デスクトップ アプリケーション (/ZW を使用しない) と、/ZW でビルドされた DLL があります。DLL は、ToastNotificationManager.

トースト クリックのイベントを受け取る DLL に C++/CX クラスがあります。これはすべて正常に機能します。ただし、イベントはワーカー スレッドで受信されます。どういうわけか、メインスレッドへの呼び出しを取得する必要があります。これを達成するための最良の方法は何ですか?

属性を設定してみました

私のC++/CXクラスの場合、それでもイベントはワーカースレッドで呼び出されます。[Platform::STAThread]デスクトップアプリケーションのメインメソッドに追加しようとしました。::RoInitialize(RO_INIT_SINGLETHREADED);アプリの起動時に試しました。

ここで間違った道を進んでいますか?次のようなものを使用する必要がありますか:

C++/CX を除いて?

編集: Windows.UI.Core.CoreWindow.GetForCurrentThread() は、UI スレッドでクエリを実行すると null を返します。UI スレッドは MFC ベースです。

edit2: 私は Platform::Agile で遊んでいます。メイン スレッドに C++/CX クラスを指すアジャイル ポインターを設定し、ワーカー スレッドのイベント ハンドラーでそれを呼び出そうとします。agile.cpp では、プロキシを取得しようとしているように見えますが、hresult REGDB_E_IIDNOTREG Interface not registered で失敗します。私は近くにいるようです。どうにかして C++/CX クラスを登録する必要があります。プレーンな COM では、これはグローバル インターフェイス テーブルにあると思います。ただし、これが C++/CX でどのように機能するかはわかりません..自動ではありませんか?