R
riipgah
Unregistered / Unconfirmed
GUEST, unregistred user!
用VC6编写的COM组件, 在win2000下运行正常, 到XP/2003下就出错。
STDMETHODIMP GetData(VARIANT *varData);
{
CString XMLStr;
.........
XMLStr="......";
*varData = (_variant_t)XMLStr;
}
在 XMLStr 长度不大时都没问题, 但长度超过一定值后就会出错, 在COM组件中再把varData转为字符串也可以, 但是把varData传递出去时就把前面一些字符变成乱码了。这个长度限制在win2000、XP、win2003下都有, 但XP/2003的上限比2000小, 不知为什么, 请大虾指教, 能让XP/2003的上限等于或大于2000的上限。
另外, 我用delphi编写了同样的COM却能运行正常, 不知VC为什么和XP/2003 却不兼容。
STDMETHODIMP GetData(VARIANT *varData);
{
CString XMLStr;
.........
XMLStr="......";
*varData = (_variant_t)XMLStr;
}
在 XMLStr 长度不大时都没问题, 但长度超过一定值后就会出错, 在COM组件中再把varData转为字符串也可以, 但是把varData传递出去时就把前面一些字符变成乱码了。这个长度限制在win2000、XP、win2003下都有, 但XP/2003的上限比2000小, 不知为什么, 请大虾指教, 能让XP/2003的上限等于或大于2000的上限。
另外, 我用delphi编写了同样的COM却能运行正常, 不知VC为什么和XP/2003 却不兼容。