![]() |
Доброе время суток!
Очередной крик души. Сегодня днем, не к ночи будет сказано, я столкнулся с леденяшшой кровь багой, повергшей наши ряды в моём лице в состояние крайнего разброда, шатания, катарсиса и прочего ужоснаха. Итак, дано: -Рабочий код на 6000+ строк (точнее не считал). -Блиц3Д вер.1.94 Требуется: -Скомпилировать код в ЕХЕ-шник. Решение: -Давлю "Криёйт эхекутабль". ...И вот тут начался тот самый КОШМАР-Р-Р с большой буквы "У"(жос)... Код радостно компилится, и даже запускается. Но (гыхх!) в начале главного цикла столь же радостно вылетает, из вежливости даже не сопровождая сеё событие всякими пошлыми "Мемори аксесс"... и так на двух машинах... И, шо характерно, Установка ЕХЕ-шнику режима совместимости с Видной-95,98 или Ме - заставляет таки его снова заработать, но звук в проге начинает хрипеть, заикаться и всячески дебоширить. Сижу теперь и тупо качаю к Блицу кучу разнообразных апдейтов, а к железу- не меньшую поленницу дров. Ждите новых сводок с фронта... %)) P.S. С кем-нибудь нечто подобное бывало? Просто интересно: может это какой-нибудь новый критический баг Блица, вроде "террайновой нетерпимости"? Ж) |
ето баг не совместимости софта 6 летней давности с современыми мелкософтскими мега DLL :)
|
Дык попробуй на 1.96 скомпилить. или откатывайся к 1.91 (сам на ней сижу)
|
У меня краш был при загрузке большого Меша (более 100000 треугольников) командой LoadMesh на операторе RenderWorld, а с оператором LoadAnimMash не было... других крашев у меня особо небыло, или я просто забыл про них...
|
Цитата:
|
Все нашел. Спасибо что сообщили о выходе новой версии.
|
Итак, очередная с-водка-с с фронта-с.
Версии Блица 1.91, 1.94, 1.95 и 1.96 ведут себя абсолютно одинаково: то есть совершенно никак себя положительно не проявляют. Сейчас ищу любимую 1.85-ю, но "задается мне, Тото, мы больше не в Канзасе..." :) Переустановка дров тоже ничего не решает. Переустановка Блица- тоже. Смена ИДЕ (да, я и этим занимался) - не исправляет, но замечательные результаты показывает наблюдение за Дебагером в новом ИДЕ. При первом (после перезагрузки машины) запуске неоткомпиленого кода, он стартует, но при входе в главный цикл вылетает на безобидном ЁнтитиПике с МемориАксесом. Если убрать этот Пик, он вылетает на другом, причем находящемся в функции, которая на данном этапе вообще не вызывается и вызываться не может! Если убрать и его- что-ж, начинает выдавать МемориАксесс вообще без всяких указаний на причину. При повторных запусках- всё чудесным образом начинает работать, но после завершения программы- с небольшими промежутками вылезают ДВА МемориАксесса и затем после паузы- матюки Винды в адрес компилера "блитзцц.ехе": "Сообщите об этом деле в Мелкософт"... Картина абсолютно одинакова на двух совершенно различных машинах. Никто не знает, есть ли в Блице какие-нибудь ограничения, вроде количества локальных/глобальых переменных, инклюдов, типов?.. Не было ли багов с создаваемыми повертексно мешами? (количество полигонов куда меньше 65000) Может были какие-то глюки в ЁнтитиПиках? |
я один раз заставил блиц инвертнуть все нормали - на обсолютно всех обектах, помойму камеру к пивоту припарентил как то
могу дать все промежуточные версии.. 1.86,1.87,1.88,1.89,1.90 и тд :) |
Баг я нашел.
Ребята, огромное спасибо всем, кто откликнулся и помогал! Извините за то, что вылез сюда до того, как всё решил. Как оказалось, ничего общего с ЁнтитиПиками, ЁнтитиВизиблами да и Ентитями вообще он не имел. Глючил (догадайтесь-ка с трех раз!)- MouseHit. Строка в общих чертах выглядела следующим образом: Код:
IF KeyHit(ControlKey) OR MouseHit(ControlKey-237) THEN Такую схему я использовал и в СтилВинде, однако заглючила она лишь сейчас. Воссоздать баг на тестах не удалось, поэтому я предполагаю, что непереносимость МаусХит-а к отрицательным значениям появляется лишь в результате нагромождения кода: равно как и креши стандартных террайнов. Возможно, у кого-нибудь будут комментарии. Может быть, кто-то решит задать вопросы. Может быть, этот идиотский вопрос заслуживает места в ФАК-е, чтоб никто больше не поседел, пытаясь решить несществующую загадку. Но в остальном- тема себя исчерпала. Можнро гасить. Еще раз спасибо. P.S. Зато теперь у меня есть целая коллекция апдейтов для Блица: могу продавать по спекулятивным ценам... :))) |
Diplomat
Ну ты и извращенец ! :lol: Загнать в MouseHit переменную - это очень сексуально ! :ok: игру то покажешь ? ;) |
Часовой пояс GMT +4, время: 00:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot