![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Шел 38-й час моего марафона по написанию кода. Уткнулся в ошибку "debugger fault notification" в строке
Код:
var Graph: array of array of byte; ... SetLength(Graph,25,25); Вопрос в том, в чем может быть ошибка. Заранее спасибо. |
#2
|
|||
|
|||
![]() Если меняю на
Код:
SetLength(Graph,14,15); Код:
SetLength(Graph,15,15); Выгрузил пару не нужных динамических массивов, начало хавать большие размерности. Значит это ограничение в компиляторе. Где может быть это ограничение? Последний раз редактировалось Morik666, 08.04.2015 в 15:51. |
#3
|
||||
|
||||
![]() Ошибка-то какая? Информации из заголовка окна маловато.
Если не знаешь как получить описание ошибки нажми Crtl+C в окне с ошибкой, а затем вставь текст сюда. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
![]() Цитата:
Раз ты не хочешь давать кода ошибки, то могу предположить что объявляешь ты эти дин. массивы внутри процедур и тупо падаешь по длине стека. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
|||
|
|||
![]() Цитата:
--------------------------- Debugger Fault Notification --------------------------- Project D:\Delphi\Uniwersity\k4s2\ČČ\Project1.exe faulted with message: 'access violation at 0x00405a61: write of address 0x00090f28'. Process Stopped. Use Step or Run to continue. --------------------------- OK --------------------------- |
#6
|
|||
|
|||
![]() Цитата:
Да, объявляю в процедуре, но где еще их можно объявлять и как избежать падения в стеке. ![]() Выглядит окошко так. (как тут делать спойлер не знаю) |
#7
|
||||
|
||||
![]() Я ж не знаю как у тебя устроена программа. Продумай архитектуру, возможно дин. массивы тебе не нужны. Ошибка у тебя не по стеку, а по обращению к неинициализированной области памяти.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#8
|
|||
|
|||
![]() Решил проблему переходом на статические массивы с заранее введенной немереной размерностью. Как временное решение покатит, но вопрос как увеличить глубину стека у компилятора остается открытый.
|
#9
|
||||
|
||||
![]() Я не думаю что у тебя такой суперпупермегапроект которому не хватит стандартных размеров стека. Пересматривай архитектуру приложения.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#10
|
||||
|
||||
![]() Больше похоже на неполадки в системе, поскольку вот сейчас только ставил опыты, нолики в вашей строке прибавлял - ошибки стали вылезать лишь при
Код:
SetLength(Graph,250000000,250000000); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |