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. 在Flash中模擬下載CC
- 2. 模擬UNIX類型的shell
- 3. ssize_t的C#模擬類型
- 4. 檢查模擬對象的類類型
- 5. Scala中的「call-cc」模式?
- 6. Vector類 - 模擬數字型
- 7. svyglm中的擬合模型
- 8. 模型中的虛擬列
- 9. Delphi中支持'hyper'MIDL類型
- 10. 如何在Delphi中模擬Ctrl + c
- 11. delphi原型模式
- 12. TREMotable類中的Delphi XE2泛型
- 13. DELPHI和Opencv中的不兼容類型
- 14. delphi中的C++類型int8_t [20]?
- 15. Delphi web服務中的複雜類型
- 16. 在鴨子型語言中模擬靜態類型的方面
- 17. 使用C++ Builder類型的Delphi泛型
- 18. Grails中的模擬域類
- 19. 是否有可能使用Moq在C#中模擬模擬的「類型名稱」?
- 20. Dreamweaver CC - Code View字體類型
- 21. 模擬類PHPUnit中
- 22. c中的java通配符(通用類型)的模擬#
- 23. 用Mockito模擬子類中的父類
- 24. 什麼是Scala的Java類類型的模擬,例如讓Foo.class?
- 25. Delphi中的C類類#
- 26. 如何轉換爲變量類型 - 模擬C++中的類型變量
- 27. C++ 11非模板化基類中的純虛擬'模板化'返回類型
- 28. 我如何製作一個「環繞」類型的Delphi模板?
- 29. Delphi對象參考模型
- 30. 在delphi畫布上模擬高光筆
對於我們這些不瞭解delphi的人,請您介紹一下這些類型。 –
沒有C/C++這樣的東西 - 選擇一個就可以,因爲C的答案與C++的答案會有很大的不同。 – Flexo
@Mark Garcia如果我知道我沒有問= = – Myosotis