M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


Re: Выложил в буффер демку 007 (поиск пути)  -  Geo,  26.05.2003  13:00:29

Если у тебя процесс очень долгий, то нельзя его вешать на обработчик события целиком. Ты этим подвешиваешь винду, не отдавая управление другим программа, которые тоже хотят чтио-нить сделать. Чтобы мзбежать этоя бяки нужно сделать так: разбить свой алгоритм на части, каждая из которых выполняется отдельным вызовом функции. Допустим, за один вызов генерить не всю карту, а только один ряд карты. Вешать вызов этой функции можно на событие Application.OnIdle. Только разберись с переменной, которая передается обработчику этого события: нужно выбрать правильное значение (на память не помню), чтобы Винда, обежав все остальные программы, вернулась к тебе. Иначе управление к твоей проге не верннется, пока не будет внешнего события, которое требует обработки (например, движения мышки над окном).

Динамический (как, впрочем, и статический) массив -- это всего лишь непрерывная область памяти определенного размера. То, что ты вопринимаешь ее как массив и соответствующим образом доступаешься, это не более, чем интерпретация данной области памяти. С этой точки зрения не понятен вопрос о массиве с дырой посередине.

    ответы :