a different showformindialog problem

Maybe its me but this is the problem I have:

  1. Create a navigation-toolbar style form with some buttons or other elements called “Form_toolbar”
  2. Place “Form_toolbar” in a tab panel of two forms, “Form A” and
    Form B"
  3. Display Form A using showformindialog non-modal
  4. Display Form B using showformindialog non-modal
  5. The elements in the tabpanel on Form A become “inactive” in that they don’t respond. It’s as if they aren’t there.
  6. Pass Form B over Form A, and the elements show nin the tabpanel on Form A are “erased”
  7. If you repeat this with a third form, i.e. Form C, then Form B elements become inactive and are erased by Form C.

This doesn’t happen if a different form than Form_toolbar is used in Form A or Form B, that is, it’s only a problem when the tabpanel form is shared.

I went back and it looks like this has been a problem since 3.5.3, which is when I started using Servoy. I don’t know if this has been reported before, or like I said, its something unique to my app.

I tried to add a sample app to this post.

Mike Sedita

sample_formindialog.servoy (28.3 KB)

Hi Mike, welcome to the forum.
Hope you have much fun working with Servoy! :)

you can’t show a form twice, at the same time (which you do by showing it in two FID’s!) This has never worked.

You have to create a new instance of the form first, before you show it twice at the same time.

Look in the help files, how you can create a new form instance!.

hope this helps.

Thanks - I’m having a lot of fun working with Servoy.

OK, so , I have these navigation buttons that I want to use on a bunch of forms, should I not use a form in a tabpanel and just paste the buttons directly on to every form? In this case I don’t think its a big deal since the buttons all call global methods anyway.

You can create a new form instance of your toolbar form and attach it to the tab panel of every (n)th form in dialog you open up. This gets around having the same toolbar form showing at the same time.

The sample code for createNewFormInstance() shows this specifically so you’re probably not the only one who uses this technique!

OK, works nicely, thanks.

M.S.