C/C++中的Delphi类型TVarType和OleVariant的类似物是什么?C/C++中的Delphi类型的模拟
3
A
回答
2
那么,显然从他们自己的文档 - 第一个是简单的无符号的单词 - 一个uint_16。
第二个有点难以解释。它基本上是一个伟大的结构,包含了一大堆字段。这一个数据类型包含一个可以传递到COM对象的每个数据类型的字段。这意味着您只需要关心将对象传入/传出变体。然后由你们每个人(程序员/ COM对象)在相关位置提取/插入数据。
也许我不应该,但这里是从一个OAIDL.H VARIANT的定义(GCC,win32)中
typedef struct tagVARIANT {
_ANONYMOUS_UNION union {
struct __tagVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
_ANONYMOUS_UNION union {
long lVal;
LONGLONG llVal;
unsigned char bVal;
short iVal;
float fltVal;
double dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown *punkVal;
LPDISPATCH pdispVal;
SAFEARRAY *parray;
unsigned char *pbVal;
short *piVal;
long *plVal;
LONGLONG * pllVal;
float *pfltVal;
double *pdblVal;
VARIANT_BOOL *pboolVal;
_VARIANT_BOOL *pbool;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
BSTR *pbstrVal;
IUnknown **ppunkVal;
LPDISPATCH *ppdispVal;
SAFEARRAY **pparray;
struct tagVARIANT *pvarVal;
void *byref;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
ULONGLONG ullVal;
INT intVal;
UINT uintVal;
DECIMAL *pdecVal;
CHAR *pcVal;
USHORT *puiVal;
ULONG *pulVal;
ULONGLONG * pullVal;
INT *pintVal;
UINT *puintVal;
_ANONYMOUS_STRUCT struct {
PVOID pvRecord;
struct IRecordInfo *pRecInfo;
} __VARIANT_NAME_4;
} __VARIANT_NAME_3;
} __VARIANT_NAME_2;
DECIMAL decVal;
} __VARIANT_NAME_1;
} VARIANT,*LPVARIANT;
+1
感谢您的。你应该有,你做到了。 –
4
的OleVariant
等效为VARIANT structure它被包裹在_variant_t Class在Visual C++。
相当于TVarType
是VARTYPE typedef,从技术上说,它是无符号短小的,但它保存的值为VARENUM enumeration。
0
如果您专门使用C++ Builder,它有自己的TVarType
和OleVariant
类型,这些类型与这些Delphi类型直接相关。在System.hpp中声明了TVarType
,在systvari.h中声明了OleVariant
,就像链接到的文档所述。
相关问题
- 1. ssize_t的C#模拟类型
- 2. 模拟UNIX类型的shell
- 3. 检查模拟对象的类类型
- 4. Scala中的“call-cc”模式?
- 5. Vector类 - 模拟数字型
- 6. svyglm中的拟合模型
- 7. 模型中的虚拟列
- 8. Delphi中支持'hyper'MIDL类型
- 9. 如何在Delphi中模拟Ctrl + c
- 10. delphi原型模式
- 11. Delphi web服务中的复杂类型
- 12. TREMotable类中的Delphi XE2泛型
- 13. DELPHI和Opencv中的不兼容类型
- 14. delphi中的C++类型int8_t [20]?
- 15. 在鸭子型语言中模拟静态类型的方面
- 16. Grails中的模拟域类
- 17. 使用C++ Builder类型的Delphi泛型
- 18. 是否有可能使用Moq在C#中模拟模拟的“类型名称”?
- 19. Dreamweaver CC - Code View字体类型
- 20. 模拟类PHPUnit中
- 21. c中的java通配符(通用类型)的模拟#
- 22. 用Mockito模拟子类中的父类
- 23. 什么是Scala的Java类类型的模拟,例如让Foo.class?
- 24. 如何转换为变量类型 - 模拟C++中的类型变量
- 25. Delphi中的C类类#
- 26. C++ 11非模板化基类中的纯虚拟'模板化'返回类型
- 27. 我如何制作一个“环绕”类型的Delphi模板?
- 28. Delphi对象参考模型
- 29. Rails的虚拟模型
- 30. 在delphi画布上模拟高光笔
对于我们这些不了解delphi的人,请您介绍一下这些类型。 –
没有C/C++这样的东西 - 选择一个就可以,因为C的答案与C++的答案会有很大的不同。 – Flexo
@Mark Garcia如果我知道我没有问= = – Myosotis