在一个组件中,我定义了如下的属性str和interger:interface IProperty : IDispatch {
        [id(0x00000001), propget, helpstring("property str")]
        HRESULT str([out, retval] BSTR* pVal);
        [id(0x00000001), propput, helpstring("property str")]
        HRESULT str([in] BSTR pVal);
        [id(0x00000002), propget, helpstring("property interger")]
        HRESULT interger([out, retval] long* pVal);
        [id(0x00000002), propput, helpstring("property interger")]
        HRESULT interger([in] long pVal);
};
之后我在IE中调用这个组件,可为什么<PARAM NAME="interger" VALUE="100" >这样对长整型的interger属性赋值不成功呢,alert中interger部分给出的是-842150451,十六进制为CDCDCDCD,而若用teet.interger=100;赋值是成功的,请问这是怎么了呢??
<html>
<object id='teet' classid='CLSID:9954462A-40D2-4A38-822E-8774E1CDACC9'>
<PARAM NAME="interger" VALUE="100" >
<param name="str" value="test ontime">
</object>
<script>
try{
var temp=teet.str;
//teet.interger=100;
var count=teet.interger;
alert("str="+temp+",interger="+count);
}
catch(e){
alert(e.description);
}
</script>
</html>