问一个最初级的有关问题: com组件类中是否可以*使用基本类型?

问一个最初级的问题: com组件类中是否可以*使用基本类型??
问一个最初级的问题:   com组件类中是否可以*使用基本类型??

比如:
    class   xxx   {
    private:
        int   m_i;
    public:
        int   GetI()   {   return   m_i;   }
    };


------解决方案--------------------
可以,接口使用VARIANT、BSTR等跨平台的数据类型即可,内部无所谓。
------解决方案--------------------
我可以很负责地告诉你,可以地。
哈哈。
------解决方案--------------------
内部使用什么无所谓。
在接口上如果你做的组件是自动化组件,即就是任何语言都可以使用,包括弱语言比如vbScript等都可以用的话,则接口上必须用以下标准数据类型。
typedef struct tagVARIANT {
VARTYPE vt;
unsigned short wReserved1;
unsigned short wReserved2;
unsigned short wReserved3;
union {
unsigned char bVal;
short iVal;
long lVal;
float fltVal;.
double dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown FAR* punkVal;
IDispatch FAR* pdispVal;
SAFEARRAY FAR* parray;
unsigned char FAR* pbVal;
short FAR* piVal;
long FAR* plVal;
float FAR* pfltVal;
double FAR* pdblVal;
VARIANT_BOOL FAR* pboolVal;
SCODE FAR* pscode;
CY FAR* pcyVal;
DATE FAR* pdate;
BSTR FAR* pbstrVal;
IUnknown FAR* FAR* ppunkVal;
IDispatch FAR* FAR* ppdispVal;
SAFEARRAY FAR* FAR* pparray;
VARIANT FAR* pvarVal;
void FAR* byref;
};
};
以就是VARIANT和VARIANT内部的所有基本数据类型,因为在脚本语言比如VbScrip里,是没有数据类型定义的 ,只有VARIANT一种,所以你只能用里面的任何一种,脚本才能把它准确的翻译成一VARIANT数据类型。

------解决方案--------------------
接口上特别不能用语言自己特定的封装类数据类型,比如VC里不能用CString