Thank you for detailed description and good sample app. We found one issue on our side and will fix it asap. Currently you will be able to try the fixed version from there:http://docu-track.co.uk/devbuilds/latest/DevRelease.x32.zip
The problem caused by using the ShowCmdBar2 in specific scenario - it may add the new invalid(not filled properly) records into CmdLayouts\Classic\Bars array.
Tip: if you want to toggle all toolbars you may try to use next way:
because your existing way to hide all bars is some incorrect:
For i = (PXV_Control1.Inst.Str2ID("cmdbar.first", False) + 1) To (PXV_Control1.Inst.Str2ID("cmdbar.last", False) - 1)
Call PXV_Control1.Inst.ShowCmdBar2(i, False)
- problem is with that code:
- it cannot handle custom bars, made by user
- it adds many redundant records to Classic\Bars array that doesn't represent real bars. for example, following ids:
cmdbar.commenting.part1, cmdbar.commenting.part2, cmdbar.commenting.part3, cmdbar.commenting.part4, cmdbar.commenting.part5, cmdbar.commenting.part6 - aren't ids of regular bars but parts of bars, unfortunately, even each of them is from cmdbar.first - cmdbar.last range.
- this method doesn't work for bars inside ribbon tabs. IDs of standard bars inside ribbon tabs have "rbar." prefix.