Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #9  
Старый 22.07.2012, 14:51
MiraLaklamon MiraLaklamon вне форума
Новичок
 
Регистрация: 07.06.2012
Сообщения: 59
Версия Delphi: 6, 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от PS11011010
А если сделать так, чтобы при создании формы все данные о элементах образовали непрерывный массив в памяти. То есть, допустим, есть 5 CheckBox и в памяти каждый занимает 10 байт, тогда 5 CheckBox будут занимать 50 ПОСЛЕДОВАТЕЛЬНЫХ байт. После создания формы кидаешь дамп памяти длиной в 50 байт в переменную, а потом просто меняешь значение памяти на значение переменной. Тут все, вроде даже перерисоваться должно на форме сразу (я имею ввиду наличие и отсутствие галочек на CheckBox).
Вы понимаете, о чем я?
Господа, Гуру, убейте меня ржавым носком, если такое невозможно реализовать.
Конечно так невозможно сделать. Нет легальных способов сделать так, чтобы 10 нужных CheckBox при создании заняли память "друг за другом". Кроме того в процессе работы объекты резервируют и освобождают дополнительную память. Но даже если бы это возможно было сделать каким-то безумным способом, то простое копирование памяти тоже не даст эффекта, точнее даст скорее всего непредсказуемый результат. Так например свойство "Checked" у CheckBox это именно свойство, а не просто кусочек памяти. Если этому свойству присвоить какое-то значение (например: CheckBox1.Checked:=True), то это вызовет целую последовательность событий (в частности посылку сообщения BM_SETCHECK, которое и приведёт к установке флажка), если же просто сделать запись в тот кусочек памяти где хранится текущее состояние флажка, то это не приведёт к "визуальному" изменению.
Ну вобщем как-то так...
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025