c++用委托调用c#执行文件读取操作出现异常,当机

冼鸿文 2014-07-30 10:40:18
提示的异常:
“System.IO.FileNotFoundException”类型的异常在 mscorlib.ni.dll 中发生,并且未在托管/本机边界之前进行处理
“System.UnauthorizedAccessException”类型的第一次机会异常在 System.Windows.ni.dll 中发生

这个问题是我在c++那边用委托调用c#然后在里面只要出击文件的读取都会出现上面的异常提示而且程序会挂掉。
下面是我实现c++回调c#的过程
1新建一个类
namespace PhoneDirect3DXamlAppComponent
{
public delegate void MyCallEventDelegate(MyCallEvent event);

public ref class MyCall sealed
{
void setMyCallEventDelegate(PhoneDirect3DXamlAppComponent::MyCallEventDelegate^ delegate);
bool sendEvent(PhoneDirect3DXamlAppComponent::MyCallEvent event);
}
}

2.c#那边调用setMyCallEventDelegate 并创建一个用于回调的方法
m_MyCall.setMyCallEventDelegate(OnMyCall); //设置委托
public void OnMyCall(MyCallEvent theEvent)
{
//跳转到第二个页面去。
string recommandUri = UmengSDK.UmengAnalytics.GetOnlineParam(\\\"otherMoreGameAddress\\\");
NavigationService.Navigate(new Uri(\\\"/RecommandGame.xaml?msg=\\\" + recommandUri, UriKind.Relative));
}

3.用c++调用sendEvent,就出现上面的问题了。
...全文
429 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
冼鸿文 2014-08-07
  • 打赏
  • 举报
回复
有没有人会的啊,加分啊。
冼鸿文 2014-08-01
  • 打赏
  • 举报
回复
引用 3 楼 cuit 的回复:
路径对吗? 你把直接调用换成间接调用以后,路径还是正确的吗?
我有点不明白你的意思 ,你是说那个UriKind.Relative 吗? ,要是你说的是这个的话,我可以说换成绝对路径,一样的情况,要是不是说这个的话,请详细上点说明一下。我是初学者。很多wp8上面的东西都不会。
冼鸿文 2014-08-01
  • 打赏
  • 举报
回复
在源码里面是没有 \\\ 的复制过来这边的时候才出现的。
#blackheart 2014-07-31
  • 打赏
  • 举报
回复
new Uri(\\\"/RecommandGame.xaml?msg=\\\" + recommandUri, UriKind.Relative)这么多\\,是不是有非法字符。转义一下试试
#blackheart 2014-07-31
  • 打赏
  • 举报
回复
好像是没有权限造成的文件不让读取吧。
gnimgnot 2014-07-30
  • 打赏
  • 举报
回复
路径对吗? 你把直接调用换成间接调用以后,路径还是正确的吗?
冼鸿文 2014-07-30
  • 打赏
  • 举报
回复
我也是这么认为的,但是要是我是用c#直接调用的话是完全没有问题的。然后我用c++调用c#来操作文件的时候才会出现这样的异常。
beyondma 2014-07-30
  • 打赏
  • 举报
回复
UnauthorizedAccessException这个异常和回调没关系吧,是权限的问题啊

7,656

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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