Непостоянная ошибка
Я не знаю, куда конкретно закралась ошибка, поэтому пишу оба кода. Blitz-евский код с подключённой библиотекой работает непостоянно: иногда запускается, иногда выдаёт MAV. Знает кто, что это за фигня?
Код:
Graphics3D 800,600,32,2 Код:
Structure Object |
Ответ: Непостоянная ошибка
Как мне кажется, Blitz как-то неправильно понимает команду dpCreateArea(type.i,mass.f), если функция была применена единожды, то всё нормально работает, если больше, то глючит MAV-ом. Ошибка от заданных параметров не зависит: проверял.
UPD. Похоже, что Blitz запускает новую функцию, не дожидаясь окончания старой. Есть способы это решить? |
Ответ: Непостоянная ошибка
Первое что бросается в глаза - ты не обрабатываешь возможные ошибки в AddMapElement и FindMapElement.
Код:
if FindMapElement(Map(), Key$) |
Ответ: Непостоянная ошибка
Спасибо! Поработать с дебаггером было хорошим советом. Проблема была в недостаточном выделении памяти для параметров объектов(надо было не 56 байт, как я выделял, а 60). Обработку ошибок учту. :)
|
Ответ: Непостоянная ошибка
Чтобы раздел не захламлять, напишу сюда. Возникла ещё проблема: я создал команду dpPositionArea, аналогичную Blitz-евской PositionEntity, если её использовать не более, чем дважды, вне цикла, то всё работает, если больше, то Blitz зависает на чёрном экране(помогает задержка, но чем чаще команду используешь, тем продолжительней она нужна(например, для 3-й - 400мс)). Интересно, что в цикле никаких проблем не возникает. С чем это может быть связано?
P.S. Дебаггер Барсика ошибок не выявил. Код:
ProcedureDLL.f dpPositionArea(*area,xPos.f,yPos.f,zPos.f) Код:
Graphics3D 800,600,32,2 |
Часовой пояс GMT +4, время: 22:35. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot