高手进!!访问IHTMLAnchorElement的属性时,出错:尝试读取或修改受保护的内存

恶猫 2008-10-25 02:28:21
foreach (mshtml.IHTMLElement el in doc2.links)
{
IHTMLAnchorElement ia = (IHTMLAnchorElement)el as IHTMLAnchorElement;

string href = "";

if (ia != null)
{
href = ia.href;
flag = true;
}

//ia.href;// (string)((IHTMLAnchorElement)el).href;//el.getAttribute("href", 0).ToString();//
string txt = (string)el.innerText;

只贴一部分代码...................
这样处理的结果,如果在 ia!=null 这一行前加上try ...那程序运行的结果,就是,,平均运行2-3次.会出一次错,结果是空.
错就在 href=ia.href 这里...

ia 是转换完的 IHTMLAnchorElement 对象.
可是只要一访问属性,就会出错.(我是在线程里访问的)

奇怪的就是,有时出错,有时不出错.机会差不多是 40% vs 60% 这样的机率.

GG和百度,都搜遍了,没有碰到我这样的情况.
...全文
180 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddlincsdn 2008-10-25
  • 打赏
  • 举报
回复
使用了不安全代码问题..
恶猫 2008-10-25
  • 打赏
  • 举报
回复
肯定只有这一行是错的.

因为注释掉后,连着点测试.几十遍都不会有错.
王集鹄 2008-10-25
  • 打赏
  • 举报
回复
你载入的页面链接是啥?能模拟出你的错误才好分析。
内容概要:本文提出了一种基于加权稀疏矩阵恢复与加速交替方向乘子法(ADMM)的单通道盲解混响算法,并提供了完整的Matlab代码实现。该方法旨在从仅有的单路接收信号中有效分离出原始声源信号,克服传统多通道方法对硬件的依赖。核心技术结合了信号在频域的稀疏性先验,通过构建加权机制以增强稀疏矩阵恢复的准确性,并引入加速ADMM算法来优化求解过程,显著提升了算法的收敛速度与计算效率。该算法特别适用于麦克风阵列限或无法部署的复杂声学环境,能够有效抑制混响干扰,从而显著提升语音信号的清晰度与后续语音识别系统的性能。; 适合人群:具备扎实的数字信号处理、凸优化理论及稀疏表示基础,从事音频信号处理、语音增强、盲源分离或相关领域研究与开发工作的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决单麦克风场景下的语音混响去除难题,提升语音通信质量;②应用于智能助听器、车载语音系统、远程视频会议、人机交互等存在严重混响的实际应用场景;③为盲解卷积、稀疏信号恢复等领域的研究提供一种高效的算法实现范例与优化思路。; 阅读建议:建议读者在深入理解信号稀疏性、ADMM优化框架等理论基础上,结合所提供的Matlab代码行实践,重点分析加权策略的设计原理及其对恢复性能的影响,并通过调整正则化参数、权重因子等关键变量,探究其在不同混响强度和噪声条件下的鲁棒性与泛化能力。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧