В классе GameObjectDataClass исправил одну ошибку приводящую к ошибке при сохранении:
Проблема была в том что что при копипасте кода для всех 3х типов значений я в качестве счётчика оставил MaxString. Довольно таки рутинная ошибка.
Public Function SaveClass() As String[]
' Функция сохраняет данные класса в строковый массив
Dim Srm As New String[] ' массив для результата
Dim MaxString As Integer ' колличество строк
Dim MaxInteger As Integer ' колличество целых чисел
Dim MaxSingle As Integer ' колличество дробных чисел
Dim a As Integer
MaxString = Strings.Max
MaxInteger = IntegerValues.Max
MaxSingle = SingleValues.Max
Srm.Add("begin game-object-data") ' заголовок
If Strings.Count > 0 Then
'строки есть
For a = 0 To MaxString
'перебор и запись всех строк
Srm.Add("add-string=" & Strings[a])
Next
Endif
If IntegerValues.Count > 0 Then
'целые числа есть
For a = 0 To MaxInteger
'перебор и запись всех целых чисел
Srm.Add("add-integer=" & LTrim(Str(IntegerValues[a]))) ' лучше всё таки при конвертировании сразу обрезать пробелы
Next
Endif
If SingleValues.Count > 0 Then
'дробные числа есть
For a = 0 To MaxSingle
'перебор и запись всех дробных чисел
Srm.Add("add-single=" & LTrim(Str(SingleValues[a])))
Next
Endif
Srm.Add("end game-object-data")
Return Srm ' собственно возврат значения
End
Проблема была в том что что при копипасте кода для всех 3х типов значений я в качестве счётчика оставил MaxString. Довольно таки рутинная ошибка.
Комментариев нет:
Отправить комментарий