诡异的情况,大小牛帮我解答下
上代码
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");,后面的代码才会执行。
在线等,求高人帮忙解决这个问题
[解决办法]
直接在LoginUAS这个方法里面设置断点进不去吗
[解决办法]
肯定是执行了了的, 楼主再看看代码吧
[解决办法]
最好你反编译看一下GEWebClientLib中的代码,我猜可能是LoginUAS方法还没有执行完毕时,StartMonitor和StartLocalRecord就开始调用,导致出现了问题。
也就是说,你不清楚GEWebClientLib是异步的还是同步的。
[解决办法]
这种问题就得慢慢调试,去掉messagebox加个System.Threading.Thread.Sleep看看有没有反应
[解决办法]
ocx.Initialize(1, 1, 1, 255);
ocx.LoginUAS("IP", 5555, "用户名", "1234", 0, 0, 0, 0);
这两个方法你确定执行没?有没有返回值什么的?
[解决办法]