|
unused as long
|
|
| mashakovmarat | Дата: Воскресенье, 22.03.2026, 18:26 | Сообщение # 1 |
 Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Здравствуйте.
Например, в windef.bi встретил код: Код type HWND__ unused as long end type
type HWND as HWND__ ptr
Строка "unused as long". Не могу понять.
Из Си знаю, unused - атрибут для компилятора.
Будьте добры )) объясните как это работает в этом месте кода.
И второе - я так понимаю, нечто вроде мануала, когда все в одном месте, для библиотеки windows.bi нет. Сейчас достаю информацию отсюда https://learn.microsoft.com/ru-ru/windows/win32/api/
Всё так?
Спасибо.
Сообщение отредактировал mashakovmarat - Воскресенье, 22.03.2026, 19:33 |
| |
|
|
| haav | Дата: Воскресенье, 22.03.2026, 20:46 | Сообщение # 2 |
 Генералиссимус
Группа: Администраторы
Сообщений: 1455
Статус: Offline
| Цитата mashakovmarat (  ) Не могу понять.
unused - просто название переменной (поля типа) , в данном случае оно может быть любым.
Цитата mashakovmarat (  ) И второе - я так понимаю, нечто вроде мануала, когда все в одном месте, для библиотеки windows.bi нет Вообще все заголовки адаптируются с языка СИ (GCC MinGw). Вряд ли кто-то из разработчиков компиляторов пишет мануалы для файлов заголовков.
Цитата mashakovmarat (  ) Сейчас достаю информацию отсюда все верно , информацию надо брать из первоисточников.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
| |
|
|
| mashakovmarat | Дата: Воскресенье, 22.03.2026, 21:54 | Сообщение # 3 |
 Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Цитата haav (  ) unused - просто название переменной (поля типа) , в данном случае оно может быть любым Мда. Что-то совсем я "оттормозился". Спасибо большое.
Добавлено (23.03.2026, 14:23) --------------------------------------------- Интересно, не смог найти на microsoft.com структуру данных дескриптора HWND. Прихожу к выводу, что HWND - это, скорее всего, long-число. Тогда почему в библиотеке windows.bi оно представлено как объект типа TYPE. Очевидно, в таком виде оно представлено и в Win32API. Я потому и предполагал, что кроме свойства unused там должны быть еще поля (свойства), например: id (дескриптор, указатель) родителя, z-index и пр.
Сообщение отредактировал mashakovmarat - Понедельник, 23.03.2026, 15:04 |
| |
|
|
| haav | Дата: Понедельник, 23.03.2026, 17:57 | Сообщение # 4 |
 Генералиссимус
Группа: Администраторы
Сообщений: 1455
Статус: Offline
| Цитата mashakovmarat (  ) Прихожу к выводу, что HWND - это, скорее всего, long-число. Вообще-то это указатель.
Цитата mashakovmarat (  ) Тогда почему в библиотеке windows.bi оно представлено как объект типа TYPE. Очевидно, в таком виде оно представлено и в Win32API. Сделано так , чтобы была возможная расширяемость в будущем. Есть и другие причины , но они больше для C/C++ (ведь заголовки у FB адаптированы с СИ).
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
| |
|
|
| DarkDemon | Дата: Понедельник, 23.03.2026, 18:26 | Сообщение # 5 |
|
Генерал-майор
Группа: Друзья
Сообщений: 294
Статус: Online
| mashakovmarat, меня как то это задолбало и просто прошёлся по всем хедерам и выписал себе на листок все самые встречающиеся типы. И как они интерпретируются в зачатке.
HWND так:
Код TYPE HWND__ i AS INTEGER END TYPE TYPE HWND AS HWND__ PTR
Добавлено (23.03.2026, 18:29) ---------------------------------------------
Цитата mashakovmarat (  ) Прихожу к выводу, что HWND - это, скорее всего, long-число. На 32 битном указатель - LONG, на 64 битном LONGINT. И нужно помнить что INTEGER - мимикрирующий тип. Который тоже меняется LONG/LONGINT. Т.е. и сам указатель меняется и внутри структуры тоже тип данных меняется от разрядности ОС.
Сообщение отредактировал DarkDemon - Понедельник, 23.03.2026, 18:35 |
| |
|
|