![]() |
Разъясните с условиями пожалуйста
Имею такую функцию:
Function LoadProject (path$ = "") If path$ = "" RuntimeError "Отсутствует фаил проекта!" + Chr$ (13) + " Укажите правильный путь!" project = ReadFile (path$) If project = 0 RuntimeError("Отсутствует фаил!") While Not Eof(project) ln$ = ReadLine$(project) ;/---------------Загрузка главной модели If Instr (ln$, "#model = ", 1) Then path_file$ = Mid$ (ln$, 10) If path_file$ <> "" Then model = LoadAnimMesh (path_file$) EndIf ;---------------/ If (model = 0) Then RuntimeError ("Модель не создана!") If Instr (ln$, "#child = ", 1) lst.children = New children lst\mesh_chld = FindChild (model, Mid$(ln$, 10)) If lst\mesh_chld <> 0 EntityColor lst\mesh_chld, Rnd (255), Rnd (255), Rnd (255) EndIf Wend End Function проблемма в том, что когда коментируеш условие If (model = 0) Then RuntimeError ("Модель не создана!") все работает если оставляеш как есть, model начинает равнятся нулю чего я не знаю, подскажите пожалуйста переменную model ставил и глобальной для программы, и локальной для данной функции, результат один. затыкается на этом месте. PS ну не присваивается же в условии этой переменной ноль? |
Ответ: Разъясните с условиями пожалуйста
Перед означенной строкой сделай
Код:
debugLog(model); Цитата:
|
Ответ: Разъясните с условиями пожалуйста
Да то же самое и пишет. Когда комментируеш, выводит длинный номер, по которому так понимаю хранится эта модель.
Вставил эту же команду в это условие, отключив RuntimeError, там выдает ноль, дальше эта же команда (DebugLog(model)) выдает опять номер модели. |
Ответ: Разъясните с условиями пожалуйста
Я пробывал поступить иначе... В условии If Instr (ln$, "#model = ", 1) Then
вставлял дополнительную переменную, которая в начале функции равняется нулю, а когда попадается `#model =` начинает равнятся единице. И вот чудо, проблемма та же. Хотя если исключаеш влиение этой переменной (ну так же коментируеш с ней условие), все сново работает. |
Ответ: Разъясните с условиями пожалуйста
Нашел проблемму :)
Естественно САМ дурак. Если интересно опишу. В файле проекта, первая строчка должна идти #model = xxx.3ds если другая, то естественно в первом проходе цикла model = 0, и RuntimeError просто останавливает программу, спасибо за полезную команду... никогда раньше не пользовался (debugLog) PS реально полезная команда. Избавляет от написания кучи проверочных строк, которыми у меня программы просто кишили, что бы отследить состояние переменных |
Ответ: Разъясните с условиями пожалуйста
Цитата:
Есть ещё Stop: можно остановить программу и в дебаггере посмотреть значения переменных в данный момент, а потом продолжить выполнение. не забывай отключить дебаггер, когда компилишь "на релиз" (а потом назад включить). |
Ответ: Разъясните с условиями пожалуйста
Спасибо за советы. Учту.
|
Часовой пояс GMT +4, время: 03:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot