Strings in TFrame problem

All announcements, questions and issues related to the TsiLang Components Suite.
Post Reply
BorisM
Posts: 7
Joined: Fri Jun 13, 2003 10:53 pm
Contact:

Strings in TFrame problem

Post by BorisM »

I have a number of frames with TsiLang components on them. The application can either use built-in language data (English only) orload an external SIB file, if present, with English + other languages.

If I load translations forem an SIB file, everything works fine (at least as far as TsiLang is concerned... there are other problems there ;) If I use data stored in the application itself, though, strings on frames are always blank. At design time I can se that they are in the siLang component. At run time, there are no strings present in siLang at all...

After browsing the forum, I tried calling Dispatcher's Loaded method in form's OnCreate event. I also tried calling siLang's own Loaded method, but it is private. Did not help even when I made it public anyway...

Anmy suggestions?

Thanks!
-Boris
gaivans
Posts: 71
Joined: Fri Nov 29, 2002 4:10 pm

Post by gaivans »

Hello,

Do the siLang components on the inline (embedded) frames use the same strings as the siLnag component on the base form or not? Please, also tell us what are TsiLangs' properties IsInheritedOwner and UseInheritedData equal to?
Best regards,
Serghei Gaivan
BorisM
Posts: 7
Joined: Fri Jun 13, 2003 10:53 pm
Contact:

Post by BorisM »

No... siLang on the frame has all the strings, the same siLang on the form where the frame is embedded has all the other properties, but not strings.

UseInheritedData and IsInheritedOwner were set to False...

Thanks!
gaivans
Posts: 71
Joined: Fri Nov 29, 2002 4:10 pm

Post by gaivans »

The problem is that TsiLang on inline frames cannot PARTIALLY inherit translations but can either inherit ALL translations from component on the base frame or hold its own translations.

If all your inline frames are identical to base frames you can set property UseInheritedData = True for those components, then TsiLang components on the inline frames will have NO own translations and will always use translations from their ancestors including strings.

Otherwise, that is if inline frames differ from their ancestors, then you will need to provide full translations for TsiLang components on the inline frames. For those TsiLang components you can set their property IsInheritedOwner = True - this will force updating translation data in run-time for inline frames.

If you will need more detailed info, please contact me at
gaivans<AT>sicomponents<DOT>com
Best regards,
Serghei Gaivan
BorisM
Posts: 7
Joined: Fri Jun 13, 2003 10:53 pm
Contact:

Post by BorisM »

It seems that UseInheritedData is not documented in the help file...

Since all I want from my inline frames is to show exact translation data that is in the base frame, I set UseInheritedData to true, and that seems to work.

Thanks!
-Boris
Post Reply