在读取的工作类中使用了 std::deque<std::string>,在ActiveX类中使用 std::vector<std::string>存放读取到的编排成xml格式的联系人数据。fireEvent时pop_back.
html叶面中的写法是:
<SCRIPT language="jscript" ID="readerObjScript" FOR="readerObj" EVENT="ReturnContactsXML">
<!--
//初始化数据
try
{
var xmlContent = document.forms[0].readerObj.GetContacts();
if(xmlContent && xmlContent.length > 0)
{
var num = TextBoxXML.innerText;
TextBoxXML.innerText = parseInt(num) + 100;
}
}
catch(e)
{
//alert("发生错误,这可能是由于程序不支持从您默认的邮件客户端导入数据,\n" +
//window.close();
}
//-->
</SCRIPT>
<OBJECT >
<!--
///////////////////////全局数据/////////////////////////
//保存xml数据的文本框编号
var gXmlTextBoxId;
InitGlobal('TextBoxXML');
////////////////////////////////////////////////////////
//初始化全局变量
function InitGlobal(xmlTextBoxId)
{
gXmlTextBoxId = xmlTextBoxId;
window.setTimeout(doLoadContact,1000);
}
function doLoadContact()
{
try
{
document.forms[0].readerObj.DoReadContacts();
//alert('done!!');
//parent.notifyDone();
}
catch(e)
{
alert(e.message);
alert("导入发生错误,这可能是由于您的浏览器设置不允许下载完成此功能的控件");
}
}
-->
</script>