问题标签 [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++ 为 Windows Metro 应用程序从资源图像创建 WritebleBitmap?

我可以使用以下代码轻松地从资源 JPG 图像文件创建 BitmapImage ...

但是 WritableBitmap 不采用 Uri。我看到了一个 SetSource 方法,但它需要一个 IRandomaccessStream 而不是 Uri。而且我不知道如何从 JPG 文件创建一个。我一遍又一遍地在网上搜索,但找不到一个直截了当的答案。任何帮助将不胜感激。

我想要这样的东西...

但是,如何从 uri 中获取 IRandomaccessStream 实例?我今天才开始开发 C++ Metro 应用程序,所以可能是错误的,但我发现它过于复杂,因为洋葱皮太多。

0 投票
1 回答
1651 浏览

c++ - 如何在 C++/CX 中创建具有属性的类的复制构造函数

我是 C++/CX 的新手。我想创建一个具有两个属性 X 和 Y 的 Vector 类。

在标准 C++ 中,复制构造函数是:

我将其翻译为 C++/CX 为:

这是课程:

标题:

执行:

但是在将 v->X 分配给 this->X 时出现错误:没有函数“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 的隐式装箱

在 VS 2012 中,当通过预期的0位置时,我收到错误 C4965(Implizites Boxing mit ganzer Zahl 0. Verwenden Sie "nullptr" oder eine explizite Umwandlung) 。Platform::Object^代码的意图确实是传递整数值 0,而不是空引用。显然,在 C++/CLI 等中,有一个 __box 关键字可以使用,但 C++/CX 编译器无法识别。

那么:抑制此警告并创建盒装 WinRT 整数的正确方法是什么?

0 投票
1 回答
745 浏览

windows-8 - Windows 8 Metro 是否支持托管 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++ - 在 C++/CX 中解析 JSON ISO8601 日期

我有一个来自 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 App 中未正确链接

我正在尝试将 D3D11 调用包装在我正在开发的 API 中。

我制作了一个 C++/CX 组件库,我试图在 C# 中使用它。如果 C++/CX 组件和 C# 项目在同一个解决方案中,这很简单明了,一切都会正常工作......

...但是如果我在其 OWN 解决方案中创建我的 C++/CX API 组件,然后创建第二个 C# Metro App 解决方案并将我的 C++/CX 组件“项目”添加到它,然后让我的 C# Metro App 引用 C++/CX 组件项目尝试使用在 C++ 中声明的公共枚举时出现运行时错误。

这是我的 C# 应用程序似乎无法链接到的公共枚举类错误。

“找不到 Windows 运行时类型‘Reign.Video.D3D11.FeatureLevels’。”

这非常令人沮丧,因为我似乎无法让我的 C++/CX“API”东西在 C# 应用程序中正确链接以进行测试。您打算如何在 Metro 上高效地测试用 C++ 制作的 API?除非在同一个解决方案中,否则不能将 C++/CX 组件链接到 C# 项目,并且如果您尝试将 C++/CX 项目链接到 C# 解决方案并从那里链接它,则会出现运行时错误...

编辑:这是演示我的问题的下载链接: 下载

0 投票
1 回答
1652 浏览

windows-runtime - 将 WinRT toast 事件发送到 UI 线程需要手动调度吗?

我有一个本机桌面应用程序(没有使用 /ZW)和一个用 /ZW 构建的 DLL。DLL 用于通过ToastNotificationManager.

我在 DLL 中有一个 C++/CX 类,它接收 toast 点击事件。这一切都很好;但是,这些事件是在工作线程上发生的。不知何故,我需要调用主线程。实现这一目标的最佳方法是什么?

我试过设置属性

对于我的 C++/CX 类,但仍然在工作线程上调用事件。我尝试[Platform::STAThread]在桌面应用程序中添加到我的主要方法。我::RoInitialize(RO_INIT_SINGLETHREADED);在应用程序开始时尝试过。

我在这里走错路了吗?我是否需要使用类似的东西:

除了 C++/CX?

编辑:当我在我的 UI 线程上查询它时,Windows.UI.Core.CoreWindow.GetForCurrentThread() 返回 null。UI 线程是基于 MFC 的。

edit2:我一直在玩 Platform::Agile。我在主线程上设置了一个敏捷指针,指向我的 C++/CX 类,然后尝试在工作线程的事件处理程序中调用它。在 Agile.cpp 中,它看起来像是在尝试获取代理,但由于 hresult REGDB_E_IIDNOTREG 接口未注册而失败。好像我很接近了;不知何故,我需要注册我的 C++/CX 类。在普通的 COM 中,我相信这将与全局接口表有关。不知道这对 C++/CX 是如何工作的.. 它不是自动的?