https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-2ifxKbT3cSno-6k.png
前提: 上图的if判断被for循环包围
frmMatte.g_frmInstance.ProgressStep(); 的意思是进度条+1, 如下两图
https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-i13vK2T1kS9z-2u.png
https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-ctucK3T1kSbg-4f.png
这个if判断isCreate是否为True, 是则调用ByCirAndLineCreSweptSolid(), 否则不调用.
但是无论如何都会调进度条++的方法.
BUG出现在: 假设目前是第一次循环, 调用了进度条++的方法, 这个时候进度条不会增长. 而是等到第二次循环时调用ByCirAndLineCreSweptSolid()方法的瞬间才增长. 第二次循环就等第三次才增长.
如果第三次isCreate为false则等到第四次, 如果一直为false那就进度条直到结束都不增长.
然后我在else处也写了ByCirAndLineCreSweptSolid()这个方法, 发现还是不行, 必须等到了if判断true的地方调用ByCirAndLineCreSweptSolid(), 上一次或者上上一次的进度条增长方法使进度条增长才会生效.
所以, 有没有人知道这个问题为什么会出现的么.
没有开通博客所以用了别的站点的图片...