如题,搞不清它们的继承层次。

解决方案 »

  1.   

    自己顶一下。
    遍历frames得到的document,是IHTMLDocuemnt2型的,想通过document用IHTMLDocument3的getElementById
      

  2.   

    如果确实是IHTMLDocument3的,QueryInterface就可以,COM不都这样么?
      

  3.   

    确实有用这个doc2去查询doc3接口,查询结果也通过,就是再用这个获得的接口调用getElementById时,出现Could not convert variant of type (Null) into type (OleStr).
      

  4.   

    使用智能指针,直接用doc2赋值给doc3就可以啦
      

  5.   

    你怎么去查询的?感觉是查询用法出问题,而不是转换doc3不成功
      

  6.   

    确实是其它地方出现的问题。只要得到IHTMLWindow2的frame,取它的document(为IHTMLDocument2),再查询IHTMLDocument3,就可以的。上面的错误,是由于一个variant变量使用不当所致。感谢阿荣兄弟的参与,并且也给了我试验的方向一定的参考。