诡异的情况,大小牛帮我解答下

龙火 2013-03-06 09:01:53
上代码
GEWebClientLib.WebOcxClass ocx = new WebOcxClass();

ocx.Initialize(1, 1, 1, 255);
ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0);
System.Windows.Forms.MessageBox.Show("1");
ocx.StartMonitor("201716-201716000100000014-0001-0002", -1, 1, 0, 0, 0);
System.Windows.Forms.MessageBox.Show("2");
ocx.StartLocalRecord("201716-201716000100000014-0001-0002", ent_name +s + ".asf", 5);
诡异情况如下:直接运行这段代码,没反应跟似乎这些代码没执行一样。debug下断点必须加在标红的地方,后面的代码才执行。不debug的话,在代码中间加System.Windows.Forms.MessageBox.Show("1");,后面的代码才会执行。
在线等,求高人帮忙解决这个问题
...全文
204 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那就是你接口有问题 如果第三方,你可以问下第三方公司,也应该有开发文档吧 如果在网上找的,那你悲催了,及时反编译,有些地方也是看不了的,只能看个大概
大腹 2013-03-06
  • 打赏
  • 举报
回复
引用 13 楼 ggglllzzz 的回复:
大牛给我 引用 4 楼 lixiaolian7 的回复:最好你反编译看一下GEWebClientLib中的代码,我猜可能是LoginUAS方法还没有执行完毕时,StartMonitor和StartLocalRecord就开始调用,导致出现了问题。 也就是说,你不清楚GEWebClientLib是异步的还是同步的。 我的确是不清楚,这么去解决这种问题呢? ……
我不是大牛,你拿 Reflector 反编译看看吧。 或者你问一下DLL创建者
龙火 2013-03-06
  • 打赏
  • 举报
回复
这么快就沉了?
龙火 2013-03-06
  • 打赏
  • 举报
回复
大牛给我
引用 4 楼 lixiaolian7 的回复:
最好你反编译看一下GEWebClientLib中的代码,我猜可能是LoginUAS方法还没有执行完毕时,StartMonitor和StartLocalRecord就开始调用,导致出现了问题。 也就是说,你不清楚GEWebClientLib是异步的还是同步的。
我的确是不清楚,这么去解决这种问题呢?
龙火 2013-03-06
  • 打赏
  • 举报
回复
引用 11 楼 Chinajiyong 的回复:
引用 9 楼 ggglllzzz 的回复:引用 8 楼 Chinajiyong 的回复:ocx.Initialize(1, 1, 1, 255); ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0); 这两个方法你确定执行没?有没有返回值什么的? 这两个方法后面加上System.Wi……
因为如果执行,会返回一段录像的,所以我确定~
EnForGrass 2013-03-06
  • 打赏
  • 举报
回复
引用 9 楼 ggglllzzz 的回复:
引用 8 楼 Chinajiyong 的回复:ocx.Initialize(1, 1, 1, 255); ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0); 这两个方法你确定执行没?有没有返回值什么的? 这两个方法后面加上System.Windows.Forms.MessageBo……
你怎么确定他没执行?
大腹 2013-03-06
  • 打赏
  • 举报
回复
引用 9 楼 ggglllzzz 的回复:
引用 8 楼 Chinajiyong 的回复:ocx.Initialize(1, 1, 1, 255); ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0); 这两个方法你确定执行没?有没有返回值什么的? 这两个方法后面加上System.Windows.Forms.MessageBo……
那肯定LoginUSA方法是异步的。
龙火 2013-03-06
  • 打赏
  • 举报
回复
引用 8 楼 Chinajiyong 的回复:
ocx.Initialize(1, 1, 1, 255); ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0); 这两个方法你确定执行没?有没有返回值什么的?
这两个方法后面加上System.Windows.Forms.MessageBox.Show("2");才执行,否则不执行
EnForGrass 2013-03-06
  • 打赏
  • 举报
回复
ocx.Initialize(1, 1, 1, 255); ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0); 这两个方法你确定执行没?有没有返回值什么的?
龙火 2013-03-06
  • 打赏
  • 举报
回复
引用 6 楼 hjywyj 的回复:
这种问题就得慢慢调试,去掉messagebox加个System.Threading.Thread.Sleep看看有没有反应
替换后一样,跟messagebox的效果一样,不过这是为什么呢?
  • 打赏
  • 举报
回复
这种问题就得慢慢调试,去掉messagebox加个System.Threading.Thread.Sleep看看有没有反应
龙火 2013-03-06
  • 打赏
  • 举报
回复
引用 3 楼 still_melody 的回复:
肯定是执行了了的, 楼主再看看代码吧
我代码执行成功后会返回一段录像的
大腹 2013-03-06
  • 打赏
  • 举报
回复
最好你反编译看一下GEWebClientLib中的代码,我猜可能是LoginUAS方法还没有执行完毕时,StartMonitor和StartLocalRecord就开始调用,导致出现了问题。 也就是说,你不清楚GEWebClientLib是异步的还是同步的。
still_melody 2013-03-06
  • 打赏
  • 举报
回复
肯定是执行了了的, 楼主再看看代码吧
龙火 2013-03-06
  • 打赏
  • 举报
回复
引用 1 楼 yyl8781697 的回复:
直接在LoginUAS这个方法里面设置断点进不去吗
进不去,这调用的是别人的接口
yyl8781697 2013-03-06
  • 打赏
  • 举报
回复
直接在LoginUAS这个方法里面设置断点进不去吗

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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