Expression too complex

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Jack Ferre
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 17.02.2014 (Пн) 14:31
Откуда: Казахстан, Костанай

Expression too complex

Сообщение Jack Ferre » 28.08.2014 (Чт) 17:19

Что это за гадкая ошибка?

Не пойму из-за чего возникает. Если нажать старт выполнение продолжается.
Последний раз редактировалось Jack Ferre 28.08.2014 (Чт) 17:21, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Expression too complex

Сообщение Хакер » 28.08.2014 (Чт) 17:20

Название говорит само за себя. Какие могут быть вопросы?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Jack Ferre
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 17.02.2014 (Пн) 14:31
Откуда: Казахстан, Костанай

Re: Expression too complex

Сообщение Jack Ferre » 28.08.2014 (Чт) 17:30

Имхо ничего "too complex" нет. Возникает из-за чего-то другого.

Однажды возникала в строке sngЧисло = lngЧисло / 10000

Сейчас в Tag_GetLenSynchsafe = Tag_GetLenSynchsafe + baSize(i) * 2 ^ (7 * (3 - i)) (i = 0 to 3)

Расписал как
Код: Выделить всё
        Dim ext As Long
        Dim mul As Long
        ext = (7 * (3 - i))
        mul = 2 ^ ext
        Tag_GetLenSynchsafe = Tag_GetLenSynchsafe + baSize(i) * mul

Вылетает в строке mul = 2 ^ ext при ext равном 21.

Читаю файлы (1000+ штук) и только на 7-ми из них вылетает ошибка.

Сейчас пофиксил
Tag_GetLenSynchsafe = Tag_GetLenSynchsafe + baSize(i) * Array(2097152, 16384, 128, 1)(i)

Теперь ошибки не вылетают. Но мне кажется что-то не так и проблема осталась.

И так для справки. Можно пожалуйста код способный вызвать ошибку "Expression too complex"?

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: Expression too complex

Сообщение The trick » 28.08.2014 (Чт) 19:00

Jack Ferre писал(а):Можно пожалуйста код способный вызвать ошибку "Expression too complex"?

Код: Выделить всё
Dim z() As Long
Debug.Print (Not Not z) / 1

Такая ошибка, в основном бывает когда производится действие с NaN, INF.
UA6527P

Jack Ferre
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 17.02.2014 (Пн) 14:31
Откуда: Казахстан, Костанай

Re: Expression too complex

Сообщение Jack Ferre » 28.08.2014 (Чт) 19:27

Касательно ошибки - ничего такого (в связи с чем должна вылетать ошибка) я не делаю.

Совсем забыл. Вылетает только в P-Code.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

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

    TopList