Hi Tamar.
Have you manually counted how many bars are left after the removal? Can you still see the full 12 or are there now only 11 as the code says? Given that you are printing the bar prompt and don't say it's wrong I doubt it's removing the wrong bar, but I thought I'd ask.
Ian Simcock.
>Got another weird one. I have a couple of forms that have code in Init to add a bar to a particular menu popup and code in Destroy to remove that bar. Some of the time (and I'm not sure exactly when that is and this morning, can't find any such cases), all works as expected. The bar is added when the form opens and goes away when it closes. More often, the bar is added when the form opens and doesn't go away when it closes.
>
>I've used the Event Tracker to make sure the form's Destroy event fires and added DEBUGOUTs to make sure I'm releasing the right bar and that, in fact, something is being removed. This code:
>
>
>DEBUGOUT PROGRAM()
>DEBUGOUT " About to check for menu bar"
>IF ThisForm.lnCnt2Bar > 0 AND CNTBAR('Print') >= ThisForm.lnCnt2Bar
> DEBUGOUT " About to remove menu bar", ThisForm.lnCnt2Bar
> DEBUGOUT " Bar prompt is", PRMBAR('Print', ThisForm.lnCnt2Bar)
> DEBUGOUT " Print menu has", CNTBAR('Print'), ' bars before release bar'
> release bar ThisForm.lnCnt2Bar of print
> DEBUGOUT " Print menu has", CNTBAR('Print'), ' bars after release bar'
>ENDIF ThisForm.lnCnt2Bar > 0 AND CNTBAR('Print') >= ThisForm.lnCnt2Bar
>
>
>produces this output in the Debug Output window:
>
>
>FRMSALESORD.DESTROY
> About to check for menu bar
> About to remove menu bar 12
> Bar prompt is Default Print Options (SO)
> Print menu has 12 bars before release bar
> Print menu has 11 bars after release bar
>
>
>But the bar is still on the menu.
>
>Anybody ever seen anything like this? Have any ideas? If menus had a Refresh method, I'd call it, but of course, they don't.
>
>Tamar