_RecordsetPtr pRs;
...pRs->Filter = _bstr_t("");
以上这句在2k系统运行正常,
在XP系统则出错,并且用catch无法捕捉.
有经验的高手请指点.

解决方案 »

  1.   

    pRs->Filter = _bstr_t("");
    这句有问题,产生一个临时对象作为右值.改成这样试试:
    _bstr_t tmp("");
    pRs->Filter = tmp;
      

  2.   

    解决了.
    不是 pRs->Filter = _bstr_t(""); 的问题.

    _variant_t vt;
    ...
    vt.vt != NULL;的问题, 把VT_NULL误写成NULL了,汗...但也奇怪,在2K系统运行没问题,在XP就出来了.
      

  3.   

    好象2K系统更安全些
    经常遇到字符串操作(BUG时)
    2K下可以通过,XP下一定会生成错误报告