Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
| TarasBer |
29.09.2011 9:38
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Мне понадобилось, чтобы каждое окно помнило какую-нибудь дополнительную информацию.
Вариант с хеш-таблицей по описателю, мне кажется, не совсем архитектурен, ну как бы это объяснить, типа окно в винде, а таблица и информация - в программе. Вот например, любое окно где-то хранит свои координаты, у него есть какой-то свой личный блок памяти, и этот блок как бы на уровне винды, извиняюсь за такую терминологию. И у каждого класса блок памяти разный по размеру и структуре. Ну и мне кажется целесообразным, чтобы эта дополнительная информация хранилась в этом же блоке памяти. В общем как задавать размер этого блока при создании класса окна, как с ним работать? -------------------- |
![]() ![]() |
| TarasBer |
30.09.2011 9:21
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
---------------------------
Точка входа в процедуру GetWindowLongPtrA не найдена в библиотеке DLL user32. --------------------------- ОК --------------------------- -------------------- |
| IUnknown |
30.09.2011 11:16
Сообщение
#3
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Точка входа в процедуру GetWindowLongPtrA не найдена в библиотеке DLL user32. Ага. Я свой код компилировал под FPC, использовал готовое описание, сейчас залез в исходники: Цитата {$ifdef cpu64}
То есть, можешь заменить на 'GetWindowLongA'. Хотя при более внимательном прочтении MSDN выясняется, что там об этом тоже говорится: Цитата Note To write code that is compatible with both 32-bit and 64-bit versions of Windows, use GetWindowLongPtr. When compiling for 32-bit Windows, GetWindowLongPtr is defined as a call to the GetWindowLong function. |
TarasBer Память окна 29.09.2011 9:38
IUnknown Ну, сразу напрашивается вариант с GWL_USERDATA:
Ка... 29.09.2011 10:31
TarasBer Я немного не понял про функцию GetWindowLongPtr. У... 29.09.2011 16:35
TarasBer В общем, я решил сделать свой оконный класс на осн... 29.09.2011 17:09
IUnknown Судя по тому, как оно описано в Д2009:
, достаточ... 29.09.2011 17:09
-TarasBer- Ааа, user32, а я её в kernel32 искал...
А что дела... 29.09.2011 23:13
IUnknown Попробовал:
if RegisterClassEx(MyEdit)... 29.09.2011 23:21
Lapp Володь, не поверишь - не заходя на форум, обновил ... 30.09.2011 6:22
TarasBer Ну хорошо, с USER_DATA работает. Но это нечестный ... 3.10.2011 9:21
IUnknown Что ж нечестного? Все как раз нормально, если ты н... 3.10.2011 13:48
TarasBer До меня дошло. Я думал, что если я запомню старое ... 3.10.2011 16:10![]() ![]() |
|
Текстовая версия | 13.12.2025 10:30 |