Basic4ppc version 6.90 significantly changed how variables are handled as it introduced typed variables. Version 1.5 of this library makes some required changes to ArraysEx and ArrayListEx to accommodate this.
ArrayLists, like all the other collections in Basic4ppc and this library hold their values as strings. Note that arrays are not collection objects in .NET but are more primitive structures that hold the types of values for which they are declared.
Owing to the changes made to array variables in Basic4ppc v6.90 the optimising compiler requires ArrayList.ToArray to return an array of the same type as that being assigned to, with the ArrayList contents coerced to that type. The ArrayListEx.ToStringArray, ToIntegerArray and ToNumberArray methods are provided to return the type of array required.
For the same reason ArraysEx now also provides CloneString, CloneInteger and CloneNumber that also return the array types that the optimising compiler requires.
ArrayListEx.CopyTo will now work with arrays of type Integer, Int32, Number, Double and String.