其他分享
首页 > 其他分享> > Combox的GetLBText();遇到的问题和解决方法

Combox的GetLBText();遇到的问题和解决方法

作者:互联网

最近有个项目要结束但是测试的时候发现一个问题,就是点击Combox的时候偶尔出现程序卡死,找了半天最后定位到GetLBText();的函数上,发现当你在选择索引或者Combox获得焦点的时候GetLBText都会执行到,正常的值肯定没有我问题,但是如果你GetCurSel的时候获取的是-1的话,GetLBText就会崩溃。原因也是因为写代码的时候不严谨因为正常GetCurSel后会加一个if(nsel!=-1)这样才不会出现这个问题,就是懒了没写导致这个问题,虽然是个小问题但是却浪费了好长时间。写这个文章也是给自己提个醒,以后if(nsel!=-1)这种判断是一定要加上的不然出问题代码量小还可以,如果代码量大,估计找BUG就会逼疯你。重要的事情说3遍一定要记得加判断,一定要记得加判断,一定要记得加判断。最后提供一种避免返回-1的写法,就是max(nsel,0)利用max返回0值加入第一个参数是-1那么这个函数会返回0,也就是说不会出现小于0的情况,,这也是我从老大那里学来的。当然这个要根据个人习惯和情况而定使用那种情况,我只是提供一种参考,你有没有什么好的方法呢?欢迎留言评论大家一起进步。

标签:nsel,遇到,Combox,max,问题,GetCurSel,GetLBText
来源: https://blog.csdn.net/xiaoyu21520/article/details/115341728