purebasic.info

PureBasic forum
Текущее время: Пт апр 20, 2018 1:34 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: У кого глюки?
СообщениеДобавлено: Ср авг 28, 2013 8:19 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Вот выскакивает ошибка "Текущий элемент отсутствует в структуре. Тут перевод не правильный, имеется ввиду список. Это легко проверить, запустив следующий код:
Код:
1
2
NewList a()
Debug a()

Будет писать про структуру, хотя речь идёт о списке. Но не об этом речь.

Почему отладчик пишет, что в списке нет текущего элемента, если этот же отладчик отображает текущее значение списка??? Вот:
Изображение
Если бы текущего элемента не было, то отладчик пишет при на ведении на список "Нет текущего элемента".

Windows 8 x32, PureBasic 5.11 (x86)

P.S. Если прогу скомпилировать в exe, то всё работает...

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: У кого глюки?
СообщениеДобавлено: Чт авг 29, 2013 2:08 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
Никита Однороб писал(а):
Если бы текущего элемента не было

Что выдаст дебагер если в 505 строке поставить
Код:
1
Debug PreviousElement(list4())

если больше нуля, то глюк пурика, а если ноль, то глюк у тебя в голове.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 1:35 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Больше этот баг повторитьь не удалось. Однако этот баг вспыл в другом месте. Написал процедуру для получения максимального значения в списке:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Procedure List_GetMax(List l()) ;Получаем максимальное значение в списке
  If ListSize(l()) <> 0
    Protected NewList a()
    ForEach l()
      AddElement(a())
      a() = l() ;Вот тут ошибка!!!
    Next
    SortList(a(), #PB_Sort_Descending)
    FirstElement(a())
    res = a()
    FreeList(a())
    ProcedureReturn res
  Else
    ProcedureReturn 0
  EndIf
EndProcedure


Я добавляю элемент в список, а он мне пишет - текущий элемент отсутствует. Это явно не мой глюк :)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 3:06 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11108
Благодарил (а): 4 раз.
Поблагодарили: 395 раз.
Зачем такие сложности?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Procedure List_GetMax(List l()) ;Получаем максимальное значение в списке 
 
  res=0
  ForEach l()  
    If l()>res
      res=l()
    EndIf
  Next  
  ProcedureReturn res
 
EndProcedure
 
NewList x()
 
For i=1 To 10
  AddElement(x())
  x()=i
Next
 
Debug List_GetMax(x())


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 3:31 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
:oops: :oops:

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB