问题标签 [variant]

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 投票
4 回答
876 浏览

string - 变体记录中的短字符串?

我希望能够访问短字符串的部分作为记录的一部分

就像是

这是可能的还是我必须单独声明每个字符

这可能/值得努力吗?

0 投票
2 回答
1136 浏览

c++ - 如何将 C++ 变体转换为 JSON?

如何在(Windows)C++ 中将 Variant 转换为 Java 脚本对象表示法?

我有一个硬件,它返回一个 Variant,它可以包含一个数组(浮点数)、字符串或布尔数据。所有变体内容都应该很容易转换为 JSON,但是是否有一个 JSON 库可以为变体提供开箱即用的功能?或者......是否有一个 JSON 库(在 c++ 中)可以吃几乎任何东西并返回正确的 JSON。

目前我的 JSON 转换器(我从随机站点下载的源)不理解 toJson(&variant)。

我正在寻找的是(伪代码):

这里的要点是用最少的努力获得一个经过测试和工作的解决方案。

编辑变体我的意思是Windows的变体:msdn.microsoft.com/en-us/library/ms221627(VS.80).aspx

兄弟,

朱哈

0 投票
1 回答
3139 浏览

delphi - 如何从 Delphi 中的指针获取变体?

我需要能够将裸指针转换为变体。我知道指针指向一个变体,但我似乎无法将其取回。直接演员(我几乎认为)失败了:

返回编译器错误:[DCC Error] E2089 Invalid typecast

我也搜索了 variables.pas 单元,但没有任何反应。

显然我错过了一些东西。这样做的方法是什么?

0 投票
1 回答
442 浏览

delphi - 如何访问后期绑定的嵌套属性和方法?

我想知道当要访问的属性嵌套在另一个属性中时,从 Delphi 访问后期绑定属性或方法的正确方法是什么。让我解释。

检查此示例应用程序以检查防火墙是否处于活动状态,声明的 3 个函数使用HNetCfg.FwMgrCOM 对象并返回相同的值。

我问这个问题是因为我想知道 Delphi 编译器是否能够生成代码以在 3 个函数的任何情况下处理 olevariants?

0 投票
3 回答
192 浏览

delphi - 监控变体和组合对象的内存消耗的工具或功能

我想知道是否存在任何工具(如分析器)或 Windows 函数来监视特定 COM 对象使用了多少内存。

例如:

0 投票
1 回答
1466 浏览

python - dbus Variant:如何在 Python 中保留布尔数据类型?

我最近一直在尝试使用 dbus。但我似乎无法让我的 dbus 服务猜测布尔值的正确数据类型。考虑以下示例:

这段代码创建了一个 dbus 服务,该服务提供 perform 方法,该方法接受一个参数,该参数是一个字典,该字典从字符串映射到其他字典,而后者又将字符串映射到变体。我之所以选择这种格式,是因为我的字典采用的格式:

当我通过我的服务传递这个字典时,布尔值被转换为整数。在我看来,检查应该没有那么困难。考虑一下(value是要转换为 dbus 类型的变量):

如果在检查之前完成此检查,isinstance(value, int)则没有问题。有任何想法吗?

0 投票
3 回答
179 浏览

compiler-construction - 变体的转换系统

我编写了一个变体类,它将用作动态语言中的主要类型,最终将允许 256 种不同类型的值(标头是无符号字节,实际只使用了 20 种)。我现在想实现类型之间的转换/转换。

我最初的想法是一个查找表,但所需的内存量使其实现起来不切实际。

有哪些替代方案?现在,我正在考虑其他三种研究方法和其他人的建议:

  1. 将类型分组为更大的子集,例如数字或集合或其他。
  2. 创建一个具有 CanCast(from, to) 和 Cast(Variant) 方法的转换接口,并允许将实现该接口的类添加到列表中,然后可以检查该列表是否有任何转换类可以进行转换。
  3. 与 (1) 类似,但要制作几个主类型,并且铸造是从原始类型到主类型然后再到最终类型的两步过程。

什么是最好的系统?

编辑:我已经添加了赏金,因为我仍然不确定最好的系统,当前的答案非常好,并且肯定得到了我的 +1,但肯定有人这样做并且可以说出最好的方法是什么。

0 投票
1 回答
2645 浏览

c++ - 将 VARIANT 转换为无符号字符数组

我正在使用 Comm32(一个 activeX 控件)通过 GetInput() 方法获取来自串行端口的数据。这个方法返回一个_variant_t,所以我需要把它转换成一个无符号字符数组。

当串行端口配置为 TextMode(这是数据输入被解释为字符串)时,将 Variant 转换为 BSTR,然后转换为 CString 按预期工作(代码不是我编写的):

但是,由于通过串口发送的数据实际上是二进制数据,当配置 comm32 将数据解释为二进制时,上面的示例代码并没有给我有效的数据。所以我想我需要将它转换为另一种格式(也许是无符号字符数组?这是我想测试的东西)。

我的问题是我快疯了,因为我找不到任何关于如何从 VARIANT 结构转换数据的详细信息。如何将变体转换为无符号字符数组?

0 投票
2 回答
15655 浏览

jsf - 有什么区别在 Java Facelets 中?

看到这个

何时以及为什么使用<h:head>,而不是<head>

不过,我已经看到 Primefaces 无法与<head>.

0 投票
2 回答
3505 浏览

c# - 为什么我收到“类型参数必须始终有效...”错误?

我将尝试缩短此代码示例:

这是我在做什么的一个粗略的想法。我有许多需要查看器的事物类,它们将遵循一个通用接口。我想要一个工厂通过我传入一个带有名称的字符串来生成这些。我不断收到编译器错误抱怨:

无效方差:类型参数“T”必须在“IThingView.ViewAll()”上始终有效。“T”是协变的。

我意识到即使我让这个工作,我之后也必须做一些铸造......我很好。我意识到这种方法很可能没有必要。在这一点上,这已成为更多的骄傲/好奇心问题。

谢谢!