Page 1 of 1

Very slow execution on Windows 98

Posted: Sun Jan 05, 2003 1:14 pm
by bitberry
Hi,

I'm using TSILang in http://www.bitzipper.com and just released German and Danish versions. I got a few angry emails because the program is *SLOW* (as the users wrote). I was quite puzzled until I started tracing the problem on Windows 98.

The Wizard interface (which the program starts in) is very very slow. I removed the "language\german.sil" file so the program starts with the English interface, and everything is back to normal speed.

I don't have particularily much text on these forms and only labels, ok, some with wordwrap, but that shouldn't be a problem I guess.

I would appreciate a quick response to this as it leaves a pretty bad expression of my translated versions for Win98 users :cry:

You can download the trial versions at http://www.bitzipper.com/download.html and see for yourself. Those versions are using a slightly older version 5.1.1 I believe, but upgrading to 5.2.1 did not solve the problem.

Regards,
Brian

Posted: Sun Jan 05, 2003 2:19 pm
by isiticov
Could you use SIB files instead of SIL? Because using SIB files is much faster than SIL.

Posted: Sun Jan 05, 2003 3:20 pm
by bitberry
isiticov wrote:Could you use SIB files instead of SIL? Because using SIB files is much faster than SIL.
Hi Igor,

yes, that might be the solution. However, I'm having trouble getting SIB files to work.

I would rather not use the Expert to generate the SIB files as it stores information I'm not interested in (like fonts, dialogs etc), so I prefer converting my current SIL files.

I tried using the SILEditor like this:
1) Open SIL
2) Export to CSV
3) Create new SIB
4) Import CSV
5) Save "new.sib"

In my application I do a siLang1->LoadAllFromFile("new.sib",true); but this doesn't seem to work - strings are empty, captions are still english. When re-opening the SIB in SILEditor, all texts look good.

Am I doing something wrong?

Brian

Posted: Sun Jan 05, 2003 5:15 pm
by isiticov
You should use LoadAllFromBinaryFile() method not LoadAllFromFile() method. LoadAllFromFile() expects SIL file as input not SIB.
Hope tjhis helps.

Posted: Sun Jan 05, 2003 7:35 pm
by bitberry
isiticov wrote:You should use LoadAllFromBinaryFile() method not LoadAllFromFile() method. LoadAllFromFile() expects SIL file as input not SIB.
Hope tjhis helps.
OK, couldn't find this method documented in the help file Igor ;-)

I have now replaced all my calls to LoadAllFromFile with LoadAllFromBinaryFile. When I call this method in a TsiLang component I get an exception: ".... exception class EClassNotFound with message 'Class TsiLangLinked not found'."

I don't use TsiLangLinked, only TsiLang (version 5.2.1, C++ Builder 5).

Brian

Posted: Mon Jan 06, 2003 8:14 am
by isiticov
bitberry wrote: OK, couldn't find this method documented in the help file Igor ;-)
Will check this :-)
bitberry wrote: I have now replaced all my calls to LoadAllFromFile with LoadAllFromBinaryFile. When I call this method in a TsiLang component I get an exception: ".... exception class EClassNotFound with message 'Class TsiLangLinked not found'."
The origin of this problem could be that SIL Editor have built the SIB file using TsiLangLinked components since it didn't find the translations for Dialogs and Locales in your CSV.
In this case I can recommend add siLngLnk unit into include clause of any of your unit to prevent this exception.

Posted: Mon Jan 06, 2003 10:19 pm
by bitberry
isiticov wrote: The origin of this problem could be that SIL Editor have built the SIB file using TsiLangLinked components since it didn't find the translations for Dialogs and Locales in your CSV.
In this case I can recommend add siLngLnk unit into include clause of any of your unit to prevent this exception.
OK, I replaced one of my TsiLang components with a TsiLangLinked and it works - and at much much better speed!

Thanks for your help Igor.

Regards,
Brian