Page 1 of 1

Loosing language names when form is opened

Posted: Wed Jul 09, 2014 7:39 pm
by bduncanj
Using TsiLang 6.5.4.7 with Delphi XE2.
Using siLangDispatcher on a data module, the TSiLangLinked component on multiple forms references this dispatcher.

I had 4 languages and added Japanese by doing a "select many" in TSiLang Expert and adding Japanese. I *then* changed the number of languages in the dispatcher to 5 also.

What I'm finding is that whenever I now open a form, it's showing that I have 4 and not 5 languages, hiding the Japanese column when I open the language editing window and the Japanese title from the LangNames property.

Japanese remains the 5th entry in the lang dispatcher even though it disappears from the other forms.

Is this a known issue that others have run into? I didn't have this problem when I added by 4th language, Korean. Any help or pointers would be greatly appreciated.

Posted: Thu Jul 10, 2014 1:46 pm
by isiticov
When you have dispatcher and TsiLang components linked to it it is enough to configure languages in dispatcher and then it will propagate this to all linked TsiLangs. I don't have any idea what could cause such problem as this shall work. But may be you can try the following: remove Japanese from dispatcher; check forms that there are no Japanese as well; then add Japanese to dispatcher and check forms. Also please check that TsiLang on forms HAVE linked to dispacther through LangDispatcher property.
Let me know if this helped.

Posted: Thu Jul 10, 2014 3:50 pm
by bduncanj
I'm finding that when I open a form, the LangDispatcher property of the TSiLngLinked component is blank in the property inspector.

However if I look at the source code of the form, or if I put my mouse in that input box of the property inspector, then it'll show that the dispatcher is correctly referenced.

If I then manually re-select the dispatcher from the LangDispatcher drop down, my language count increases (correctly) to 5 languages and my LangNames now includes Japanese (correctly).

However, when I reload the form, the language count is back to 4 and the LangDispatcher entry in the property inspector is once again blank (even though its present in the underlying source code).

It's as though on form load there is a problem resolving the language dispatcher. Could there be a problem when I changed the TForm that the language dispatcher lives on to a TDataModule?

Cheers

Posted: Thu Jul 10, 2014 5:11 pm
by bduncanj
Installed latest version of product and this appears to fix the problem.

Posted: Thu Jul 10, 2014 6:59 pm
by bduncanj
Update: after setting the languages on the dispatcher, updating all my forms, exiting and re-loading the IDE we're back to the property inspector not seeing the dispatcher in the drop down.

2nd update: the dispatcher becomes available in the property inspector as a selectable option only once I actually open the TDataModule descendant containing my language dispatcher in the IDE.

Posted: Fri Jul 11, 2014 2:50 am
by isiticov
Something strange. I believe this might be related to project's units structure in your project. Please check that your project's source unit correctly lists all units and forms/datamodule because it looks like IDE became "confused" somehow. Also check uses clause of units to include datamodule with dispatcher.