Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для kolay_ne
16 / 18 / 11
Регистрация: 07.03.2016
Сообщений: 362

Обработка события OnResize

12.08.2016, 09:52. Показов 1452. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть прога с большим количеством процедур. В ней есть событие OnResize. В момент, когда начинаю изменять размер окна, программа зависает. Если изменять размер окна в том месте программы, где событие не должно срабатывать, все нормально. С чем связана ошибка? Как исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2016, 09:52
Ответы с готовыми решениями:

Событие onresize. Как отделять повторяющиеся события
Здравствуйте! Довольно актуальная в многих случаях проблема, когда нужно выполнить функцию при переходе через заданные размеры окна...

Обработка события Click, вставка html после генерации и обработка этого кода
Подскажите пожалуйста как заставить работать эту часть кода 18 строка $(".image").click(function() { ...

События и их обработка
Здравствуйте. Суть вопроса: есть клас события package colibri; import java.util.ArrayList; import java.util.EventObject; ...

5
58 / 16 / 26
Регистрация: 07.02.2015
Сообщений: 346
12.08.2016, 13:02
Возможно вам мешает огромный процесс или подсчёта или выполнение процедуры,которая забирает у вас много памяти под программу.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
13.08.2016, 15:06
Цитата Сообщение от kolay_ne Посмотреть сообщение
В момент, когда начинаю изменять размер окна, программа зависает
Минимальную тестовую программу, иллюстрирующую зависание, приведи. Что именно делается по OnResize? Что в это время делает само приложение?
0
 Аватар для kolay_ne
16 / 18 / 11
Регистрация: 07.03.2016
Сообщений: 362
13.08.2016, 15:59  [ТС]
volvo, Само приложение ждет. В цикле обрабатываются два события: нажата клавиша и сам OnResize. Из цикла он выходит после присвоения переменной определенного значения, что происходит после нажатия Enter. По OnResize запускается процедура, которая перерисовывает экран под новый масштаб. Программу прямо сейчас нет возможности скинуть - чужой компьютер.

Добавлено через 35 секунд
redseven, Нет. Только бесконечный цикл проверки событий (выше).
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
13.08.2016, 17:14
Цитата Сообщение от kolay_ne Посмотреть сообщение
В цикле обрабатываются два события: нажата клавиша и сам OnResize
Не надо этого делать ни в каком цикле. События возникают в момент нажатия на кнопку и в момент изменения размеров окна. Если написать вот так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses
  GraphABC;
 
procedure NewKey(ch: char);
begin
  if ch = #13 then Halt;
end;
 
procedure NewDraw;
begin
  writeln(WindowHeight, ' ', WindowWidth)
end;
 
begin
  OnResize += NewDraw;
  OnKeyPress += NewKey;
end.
, то безо всяких циклов программа прекрасно отследит все изменения размеров окна, и завершится, как только будет нажат Enter. Так что программу свою переписывай без циклов. И почитай что-нибудь о событийном программировании.
0
 Аватар для kolay_ne
16 / 18 / 11
Регистрация: 07.03.2016
Сообщений: 362
14.08.2016, 10:26  [ТС]
После событий есть действия. События выполняются до тех пор, пока переменной не будет присвоено значение. Как это прописать без циклов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2016, 10:26
Помогаю со студенческими работами здесь

обработка события
:)Здравствуйте! Подскажите пожалуйста как можно описать обработчик события вне класса. Имеется класс, который выводит на форму некоторое...

Обработка события
Подскажите пожалуйста. Как правильно написать обработку события при нажатии кнопки. Нажимаем кнопку должна выходить справка о программе....

Обработка события
Есть событие public event EventHandler<CopyingFileEventArgs> CopyingFile Подскажите пожалуйста как его обработать Вот ссылка на...

События и их обработка
Подскажите как можно реализовать обработку событий, чтобы можно было использовать примерно такой код: void test_handler(object*...

Обработка события
Здравствуйте. Помогите найти ошибку. Нужно выполнить событие, но компилятор выдает: "Inconsistent accessibility: field type...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru