精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
近期用VS2019 C#写软件,使用了vlc播放控件,在窗体关闭时,vlc播放控件报异常操作,解决关闭时异常,在FormClosing函数里调用vlc播放控件的停止和释放函数就可以,但是FormClosing通过属性窗口双击生成了,就是不调用,在{}行的断点不触发,{}内的代码行断点不触发,不触发调用,问题就解决不了,项目开发卡住了。
如果初学者没怎么写项目,肯定是先验证,自己新建个项目,FormClosing搞出来,加断点,看下,肯定没问题,这时候再想,就容易进死胡同。
因为经验丰富,整个项目框架也是自己写的,知道问题窗体和父窗体的关系,父窗体用了特殊的容器挂载了子窗口,在父窗体的FormClosing里加上了问题窗体的关闭函数,问题窗体的FormClosing就调用了,进而vlc播放控件卸载正常,也就不报错了。
因为项目代码保密,这里不方便公开。
初级程序员遇到这问题,一定要和上级沟通,有很多时候环境是会影响局部,自己干急于事无补,还影响进度。
理论上来讲,窗体看不到了,父窗体还关闭了,子窗体也应该关闭,但普遍理论未必能和特殊环境对应,这次就是遇到了特殊环境,环境既然没帮你做好,你就要改造环境,这里对父窗体的FormClosing进行处理就是改造。
这问题其实和C++内存释放类似,桌面软件要自己释放资源,释放不好就会有事。