是这样的: 
服务端定义了一个方法,包括三个参数: 
IadoproDispT<T>::remosql(VARIANT* tab/*[out]*/, unsigned_char Para1/*[in]*/, VARIANT* Para2/*[in]*/){...} 
客户端调用这个方法: 
AnsiString teststr="this is a string."; 
Variant v1; 
v1=teststr; 
TempInterface.remosql(ClientDataSet1->Data,'A',&v1); 
编译时前两个参数没问题,第3个参数出错: 
[C++ Error] Unit1.cpp(66): E2034 Cannot convert 'Variant *' to 'tagVARIANT *' 
[C++ Error] Unit1.cpp(66): E2342 Type mismatch in parameter 'Para2' (wanted 'tagVARIANT *', got 'Variant *') 
类似的问题还有很多,基本上都定义好了用Variant,却找tagVARIANT的错误,而且没有规律,比如一个Variant类型的v : 
String(v);有时可以返回一个串,有时就出错: 
[C++ Error] adoproImpl.cpp(45): E2285 Could not find a match for 'AnsiString::AnsiString(tagVARIANT)' 
[C++ Error] adoproImpl.cpp(45): E2031 Cannot cast from 'tagVARIANT' to 'AnsiString'