EConvertError in ChangeLangForExtended method. Delphi 2009
-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm
EConvertError in ChangeLangForExtended method. Delphi 2009
Hi,
I'm using TsiLang version 6.3.0.4 in Delphi 2009, update 2. When attempting to switch between two languages that have Extended Translations (in this case, the Left/Width of labels and buttons) I continually get an EConvertError in the internal ChangeLangForExtended method, with the message similar to:
"Project Project1.exe raised exception class EConvertError with message "xxx56" is not an integer value"
Note that the "xxx" isn't literal: It's actually a combination of non-Latin characters that I can't reproduce here.
It looks like the ChangeLangForExtended method is expecting an integer (for the width or left of the button/label), but is returning a value with some extra characters prefixed. In my case, the "Left" value for the button in the secondary language should be "56", but the method is receiving something like "xxx56".
I have reproduced this in the simplest, single-form project started from scratch, with one tsiLang component, two languages (French/English), and a button and a label, with all properties set to default. It seems that this affects only integer values in the Extended Translation: I've tried with properties like Font.Name, Borderstyle, Enabled, and they are handled correctly.
Any ideas?
Thanks,
John Bennett[/img]
I'm using TsiLang version 6.3.0.4 in Delphi 2009, update 2. When attempting to switch between two languages that have Extended Translations (in this case, the Left/Width of labels and buttons) I continually get an EConvertError in the internal ChangeLangForExtended method, with the message similar to:
"Project Project1.exe raised exception class EConvertError with message "xxx56" is not an integer value"
Note that the "xxx" isn't literal: It's actually a combination of non-Latin characters that I can't reproduce here.
It looks like the ChangeLangForExtended method is expecting an integer (for the width or left of the button/label), but is returning a value with some extra characters prefixed. In my case, the "Left" value for the button in the secondary language should be "56", but the method is receiving something like "xxx56".
I have reproduced this in the simplest, single-form project started from scratch, with one tsiLang component, two languages (French/English), and a button and a label, with all properties set to default. It seems that this affects only integer values in the Extended Translation: I've tried with properties like Font.Name, Borderstyle, Enabled, and they are handled correctly.
Any ideas?
Thanks,
John Bennett[/img]
-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm
-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm
Version 6.4 reintroduces this problem for me.
I also had to delete all the extended translation in my project after upgrading because TsiLang got stuck when loading 8MB of garbage data
that probably came from a bug in the previous version. (Fortunately I had only 1 extended translation property on that form).
When can I expect a bugfix for the extended translations? Delphi 2009 has been out for quite a while.
I also had to delete all the extended translation in my project after upgrading because TsiLang got stuck when loading 8MB of garbage data

When can I expect a bugfix for the extended translations? Delphi 2009 has been out for quite a while.
-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm
Version 6.4
Same here. Version 6.4 reintroduced the original problem, and also caused the loading of translations to be slowed down by a factor of a hundred or so. As BenjyKid reported, this is likely due to the megabytes of garbage data that seems to be generated in the translatio component in some instances. In my case, the a 500 KB form balooned to almost 100 Megabytes in size after repeated loads and saves.
We cannot use this component in its current state, and have fallen back to using the previous version.
John Bennett,
ThoughtWorks
We cannot use this component in its current state, and have fallen back to using the previous version.
John Bennett,
ThoughtWorks
-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm
EConvertError with extended translations
Hi Igor,
Sorry for the slow reply to this issue -- we've been too busy to revisit it until now.
I am now attempting to use TSILang 6.4 with Delphi 2009, update 2. The issue discussed in the original post above (EConvertError when translating forms with extended properties) seems to have been reintroduced into TSILang 6.4: It had been corrected in 6.3.0.1. We cannot successfully switch between languages without this exception appearing.
I have a small sample project that easily recreates the error, and will send it to you at your Support address.
Please let me know if you are able to find and correct the problem. We would very much like to begin using TSILang 6.4 for our production code.
Best,
John Bennett,
ThoughtWorks
Sorry for the slow reply to this issue -- we've been too busy to revisit it until now.
I am now attempting to use TSILang 6.4 with Delphi 2009, update 2. The issue discussed in the original post above (EConvertError when translating forms with extended properties) seems to have been reintroduced into TSILang 6.4: It had been corrected in 6.3.0.1. We cannot successfully switch between languages without this exception appearing.
I have a small sample project that easily recreates the error, and will send it to you at your Support address.
Please let me know if you are able to find and correct the problem. We would very much like to begin using TSILang 6.4 for our production code.
Best,
John Bennett,
ThoughtWorks
@johncbennett
Please try to find all the tsilang bpl and dcp files on your harddisc and delete them. Then compile the package on your own. This fixed it for me. I'm wondering if the installer had installed an old version of the packages because I had to delete the old packages when I needed to patch the old version of tsilang.
Please try to find all the tsilang bpl and dcp files on your harddisc and delete them. Then compile the package on your own. This fixed it for me. I'm wondering if the installer had installed an old version of the packages because I had to delete the old packages when I needed to patch the old version of tsilang.

-
- Posts: 6
- Joined: Tue Nov 16, 2004 1:26 pm