問題タブ [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 投票する
2 に答える
1741 参照

c++ - C ++/CXの制限

C ++ / CX構文を使用してライブラリを作成し、他のプロジェクトで使用したいと思います。

ご存知のように、プレーンな古いデータ構造にはメソッドや演算子を含めることができないため、動作を提供するために別のクラスで静的メソッドを作成するなどの作業を行う必要がありました。

また、このようなコードを書くことはできません:

または、このプロパティを次のようなメソッドに渡します。

Windowsランタイムライブラリにこれらの制限がある理由がわかりません。

C ++ / CXおよびWindowsランタイム拡張機能を.libファイルにコンパイルするにはどうすればよいですか?または、WRLプロジェクト全体のコードファイルを別のプロジェクトでプリコンパイルするにはどうすればよいですか?

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

c++ - インターフェイス メンバーがプライベート クラス型を使用できないのはなぜですか?

次のコードを検討してください。

このコードを Visual C++ 11 Developer Preview でコンパイルすると、次のエラーが発生します。

public の場合ClassA、コードはエラーなしでコンパイルされます。ClassA非公開の場合、コードがコンパイルされないのはなぜですか?

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

c++ - WinRT XAML - マネージドおよびアンマネージド - どのように機能しますか?

新しい WinRT API とそれを (直接または間接的に) 対象とする言語、およびそれらと XAML との関係について、私には理解できないことがあります。

  1. .NET 言語 (C#、VB.Net、F#) を使用して、WinRT で実行される「api-restricted」CLR で実行される XAML Metro アプリを構築できます。
  2. C++ を使用して、WinRT API 上で直接実行されるアンマネージド XAML アプリを構築できます

私の質問はこれです - シナリオ 1 の XAML は BAML に変換され、次に MSIL (従来の .NET アプリによる) に変換されますか、それとも新しいメカニズムはありますか? そうでない場合、アンマネージド アプリをビルドするコンパイラは、同じ XAML をどのようにネイティブ命令に変換するのでしょうか? 2 つのシナリオは同じコンパイル戦略で解決されますか? もしそうなら、どうやって?

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

lambda - C ++/CXでのLambdaパラメーターの参照

私はラムダに不慣れで、次のラムダ式のパラメーターリストがどのように機能するかを理解するのに苦労しています。

このコードは、Facebookの認証方法の一部です。

具体的には、thisOperationが現在処理されているWebAuthenticationResultを実際にどのように参照しているかわかりませ

私はブロックを次のように読みました:

1.)非同期認証を開始します

2.)認証が完了したら、ラムダによって定義された関数を実行します


ただし、ラムダ関数はこの特定の認証操作について知る必要があります(完了時に返される何らかの結果があると想定しています)。ラムダのパラメータリストに基づくと、実際には何もポイントせずに、Web認証結果へのポインタを宣言したように見えます。

thisOperationが正しいオブジェクトを参照するようになるのはどうしてですか?

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

microsoft-metro - オーバーライドで基本クラスの実装TextBox::OnKeyDown()を呼び出すにはどうすればよいですか?

OnKeyDown()メソッドですべてのキーボードイベントをキャプチャできるように、 TextBoxクラスのサブクラスを作成しました( KeyDownイベントは、バックスペースキーや矢印キーを含むがこれらに限定されないすべてのキーボードイベントに対してトリガーされるわけではありませんが、OnKeyDownはトリガーします

これに伴う問題は、コントロールの内部キーボード処理を完全にバイパスするため、TextBoxを効果的に無効にすることです。明らかな解決策は、スーパークラスでOnKeyDownを呼び出すことです。

Windowsランタイムでそれを行うにはどうすればよいですか?TextBox :: OnKeyDown(...)を呼び出すだけでは、オーバーライドに効果的に移動するため、機能しません

OnKeyDown()メソッドはIControlOverridesインターフェイスの一部であり、TextBoxオブジェクトインスタンスのそのインターフェイスへのインターフェイスポインタを取得できないようですが、派生オブジェクトインスタンスに対してのみ取得できます。

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

c++ - Windows 8 XAML プロジェクトの C++/CX で Margin プロパティを設定する

スルーコードMarginを設定しようとしています。の を設定するには Ellipseどうすればよいですか?Marginp

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

windows - Windows 8(Metro)アプリでXAMLコントロールのhWndを入手しますか?

フレームに生のビデオを書き込むネイティブdllにhwndを渡す必要があります。WPFでは、コントロールからhwnd参照を取得できるため、これは機能します。これはMetroアプリで可能ですか?

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

c++ - xamltypeinfo.g.cppのC++コンパイラエラー

明らかな何かが欠けているに違いありませんが、何がわからないのです。

空白のC++メトロアプリを作成し、UIにバインドするモデルを追加しましたが、関連するさまざまなコンパイラエラーが発生しxamltypeinfo.g.cpp、何を見逃したのかわかりません。

私のヘッダーファイルは次のようになります。

私のcppファイルは次のようになります。

トリッキーなことは何もありませんが、コンパイルすると、で定義されていないxamltypeinfo.g.cppことを示すエラーが発生します。MyColorCppDataBinding

関連する生成されたコードは次のようになります。

Bindableコードから属性を削除すると、MyColorコンパイルされます。

誰かが私が見逃した目がくらむほど明白なことを教えてくれるので、私は自分自身に顔をしかめ、問題を解決することができますか?

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

collections - IIterable の使用

WinRT API 関数DataPackage::SetStorageItemsは、 type のパラメーターを受け取りますIIterable<IStorageItem^>^。私が持っているのはStorageItem^、コレクションではなく、単一の です。

インターフェイスを実装する WinRT コレクション クラスが見つからないため、これから IIterableコレクションを作成する方法について少し混乱しています。IIterableをベースとして独自のクラスを作成できることはわかっていますが、見たことのない既存のクラスがあると思います。

ここで何が欠けていますか?

これは明らかだと思いますが、C++、VS11、Win8、Metro.

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

visual-c++ - C++でのWinRT非同期ファイル操作

私は現在、いくつかのテキストリソースを必要とするメトロアプリに取り組んでいます。ビルドプロセスの一部は、これらすべてのリソースをアプリのインストールディレクトリ内のフォルダーにコピーすることです。私がやりたいのは、これらのリソースファイルのリストを収集し、それに応じてそれぞれを処理することです。残念ながら、そうしようとした私の試みは成功していませんでした。

WinRT用にビルドしているため、非常に便利な「FindFirstFile」関数と「FindNextFile」関数を使用できません。WinRT非同期ファイルIO操作を使用してジョブを実行しようとしています。

コンパイルに失敗するもの:

エラーC2664:'Windows :: Foundation :: IAsyncOperation <TResult> :: Completed :: set':パラメータ1を'Windows :: Foundation :: AsyncOperationCompletedHandler<TResult>^'から'Windows:: Foundation ::AsyncOperationCompletedHandler<に変換できませんTResult> ^ '

エラーは私には意味がありません。ラムダハンドラー関数がインラインにならないように上記のコードを書き直してみましたが、違いはありません。何が悪いのかわかりません。

何か案は?前もって感謝します。