您的位置:首页 > 其它

蓝牙搜索服务时,报kern-exec3异常

2010-08-04 09:44 120 查看
做蓝牙开发时,遇到这个问题,困扰了好久,这个问题是随机出现的。

搜索某个设备的服务时,需创建一个CSdpAgent对象:CSdpAgent::NewL( MSdpAgentNotifier&, TBTDevAddr );

先前的做法是创建前判断

if(iAgent != NULL)

{

iAgent->Cancel();

delete iAgent;

iAgent=NULL;

}

并且每次出错,也是在这个地方,我猜测是,iAgent->Cancel()后,可能还在查找服务,delete时就出现了 kern-exec3,后来改为下面的方式就没问题了:

RPointerArray<CSdpAgent> iAgents;

CSdpAgent* agent = CSdpAgent::NewLC( *this, iDevData->iDeviceAddr );

iAgents.Append(agent);

查找完 iAgents.ResetAndDestroy();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: