Form inheritance and exclude properties

All announcements, questions and issues related to the TsiLang Components Suite.
Post Reply
Paul Zip
Posts: 20
Joined: Wed Jul 26, 2006 2:58 pm

Form inheritance and exclude properties

Post by Paul Zip »

I wonder if I am missing something obvious, but it seems SiComponents do not lend themselves very well to form inheritance and property exclusions.

For example, I have a project with 2000 forms. I have a base form frmBase with siLangRT on it, I have a descendent form frmTranslateBase which sets siLangRT.InheritedOwner to true, so that all other forms inherit from this.

I want to exclude certain properties and let that propagate through. I'd want to so this even if these properties may not be available on any components on frmBase or frmTranslateBase, as it is not practical to go through every form.

e.g. I want to add the following exclusions ListField, Active, DataField, ValueChecked, ValueUnchecked. I don't want to go through every form, and I shouldn't have to, so how do I do it?

Is it the case that you can only exclude properties which exist on the form in question?

I also requested a way of excluding by classname a while ago, and you said you'd try to add it next version, when will this next version be released?

Paul
isiticov
Site Admin
Posts: 2385
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Hello,

May be this is our problem of bad design for Exclude Editor. You can use any of the following ways to perform this:
1. You can open the base form as text and locate TsiLang ExcludedProperties.Strings list property. There you can add propery names for the components that are not on the form currently. This will be propagates to inherited forms as well.
2. You can open siComp.pas (if you have access to source code) and add necessary lines to COMMONEXCLUDE constant defined there.
Best regards,
Igor Siticov.
jsweby
Posts: 32
Joined: Wed May 21, 2008 3:07 pm

Post by jsweby »

Was anything ever done about this?

We don't use inherited forms and I also want to have DataField excluded from all form translations (over 80 forms). The only way I can currently see is to go into each form and choose the Exclude... option and find DataField to add to the Exclude list. Is there no other global way?

I changed siComp.pas asexplained above, but this doesn't help at design-time which is where I build my translation file.
Carval Computing Limited
Payroll - HR - T&A
carval.co.uk
Post Reply