On mercredi 01 octobre 2008, Rolf-Werner Eilert wrote: > Still trying to convert a Gambas1 app to Gambas2. Basically, it begins > to run. However, there are strange error message at some points, and I > do not understand what causes them. > > 1. This line > > po = links.Find(wert[8], gb.Language) > > results in "Bad string conversion". Strange to me, as I do not see any > conversion here.
By using gb.language, you force a locale-aware comparison of the strings inside links. This locale-aware string comparison is implemented by first converting the strings into 32 bits Unicode, and that conversion apparently fails. What does the links array contain? > > 2. Here "Maske" is a tabstrip. First it is checked that it has enough > tabs. Then the "current" tab is set. > > IF CInt(wert[0]) > Maske.Count THEN Maske.Count = CInt(wert[0]) > Maske.Index = CInt(wert[0] - 1) > > Gambas will stop at the second line complaining "Type mismatch: wanted > Number got String instead". > > Well, wert[0] at this time contains the string "1". This is a string > with a number, and CInt should convert it to a numeric value, shouldn't > it? (I tested to leave out the "- 1", this resulted in "Bad index" for > the tabstrip!) This is a little bug in addition optimization. Anyway, if you want to do arithmetic, do it on numbers, not on strings: Maske.Index = CInt(wert[0]) - 1 Regards, -- Benoit Minisini ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user