VARIANT 有什么特殊的作用?它是种什么样的类型?
解决方案 »
- 修改数据库 VC
- 请教图形学问题
- 怎么去分割窗口自动加的滚动条啊?
- 【求助】请问如何将xml保存为字符串而非文件?急
- 如果想学C++,用什么开发工具最好?
- 数据库有新记录insert时,应用程序如何知道?使用触发器?数据库不太了解,知道的帮帮忙,顶也有分
- 我想做个像2000里“超级终端”的程序,各位有没有什么思路??谢谢!
- 紧急求助~~~~在线等待,分不是问题,要多少给多少,请各位高手帮忙~~~~
- 在Window98中数据库的问题?
- :各位大哥。。小弟有个调用DLL的问题,我做了个标准VC的C的Dll,做完之后放在和一个VB程序一个目录,可运行时候却说找不到该文件
- 请问一个关于鼠标指针的问题!
- 急菜急菜急菜的吻蹄!!。。。。。
关于下面的几个METHOD,例如OPENURL,在VB中原形是object.OpenUrl(url [,datatype] url是有效的URL字符串, DATATYPE是整形,返回指定URL的文档。在MFC中是CInternetSession::OpenURL
CStdioFile* OpenURL( LPCTSTR pstrURL, DWORD dwContext = 1, DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, LPCTSTR pstrHeaders = NULL, DWORD dwHeadersLength = 0 );
Throw ( CInternetException );
VARIANT的定义如下:
typedef struct FARSTRUCT tagVARIANT VARIANT;
typedef struct FARSTRUCT tagVARIANT VARIANTARG;
typedef struct tagVARIANT {
VARTYPE vt;
unsigned short wReserved1;
unsigned short wReserved2;
unsigned short wReserved3;
union {
unsigned char bVal; // VT_UI1.
short iVal; // VT_I2 .
long lVal; // VT_I4 .
float fltVal; // VT_R4 .
double dblVal; // VT_R8 .
VARIANT_BOOL boolVal; // VT_BOOL.
SCODE scode; // VT_ERROR.
CY cyVal; // VT_CY .
DATE date; // VT_DATE.
BSTR bstrVal; // VT_BSTR.
IUnknown FAR* punkVal; // VT_UNKNOWN.
IDispatch FAR* pdispVal; // VT_DISPATCH.
SAFEARRAY FAR* parray; // VT_ARRAY|*.
unsigned char FAR* pbVal; // VT_BYREF|VT_UI1.
short FAR* piVal; // VT_BYREF|VT_I2.
long FAR* plVal; // VT_BYREF|VT_I4.
float FAR* pfltVal; // VT_BYREF|VT_R4.
double FAR* pdblVal; // VT_BYREF|VT_R8.
VARIANT_BOOL FAR* pboolVal; // VT_BYREF|VT_BOOL.
SCODE FAR* pscode; // VT_BYREF|VT_ERROR.
CY FAR* pcyVal; // VT_BYREF|VT_CY.
DATE FAR* pdate; // VT_BYREF|VT_DATE.
BSTR FAR* pbstrVal; // VT_BYREF|VT_BSTR.
IUnknown FAR* FAR* ppunkVal; // VT_BYREF|VT_UNKNOWN.
IDispatch FAR* FAR* ppdispVal; // VT_BYREF|VT_DISPATCH.
SAFEARRAY FAR* FAR* pparray; // VT_ARRAY|*.
VARIANT FAR* pvarVal; // VT_BYREF|VT_VARIANT.
void FAR* byref; // Generic ByRef.
};
};