Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 315
от 03.10.2006, 19:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 374, Экспертов: 31
В номере:Вопросов: 1, Ответов: 2


Вопрос № 57048: Здраствуйте, раскажите мне что за атом в винапи..например функция DeleteAtom-удаляет атом какойто там :) зачем мне его удалять если я незнаю что это..момогите пожалуйсто начинающему :))...

Вопрос № 57.048
Здраствуйте,
раскажите мне что за атом в винапи..например функция DeleteAtom-удаляет атом какойто там :) зачем мне его удалять если я незнаю что это..момогите пожалуйсто начинающему :))
Отправлен: 28.09.2006, 19:16
Вопрос задал: Nu Ja (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sergey A. Wedensky
Здравствуйте, Nu Ja!

В системе существуют таблицы атомов. Они хранит строки с
соответствующими им идентификаторами. При добавлении каждая строка
(имя атома)
получает уникальный 16-битный идентификатор, который
впоследствии можно использовать для доступа к строке.

В системе есть несколько таблиц атомов для разных целей.

Сама система использует свои (системные) таблицы атомов. Они
непосредственно не доступны из приложений, одако используются
некоторыми API-функциями. Например, форматы буфера обмена являются
атомами. Ваше приложение может добавить атом функцией RegisterClipboardFormat.
Классы окон также являются атомами. RegisterClass возвращает Вам атом.

Непосредственно доступны приложениям глобальная и локальная таблицы
атомов. Глобальная доступна всем приложениям. Локальная - только
одному.

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

Функция AddAtom добавляет новый атом либо увеличивает на 1 счетчик
ссылок имеющегося. DeleteAtom уменьшает счетчик ссылок на атом, если
он достигает 0, атом удалается.

Более подробно можно почитать в MSDN (см., например, "Atoms" в индексе).
Ответ отправил: Sergey A. Wedensky (статус: 3-ий класс)
Ответ отправлен: 28.09.2006, 19:44
Оценка за ответ: 5

Отвечает: ENS
Здравствуйте, Nu Ja!
Честно говоря cам ни когда не использовал. Но раз ВАМ надо , попробую помоч. Эти атомы испоьзуются в DDE
(Динамический обмен данными). Атом это символ.AddAtom - лобавляет строку символов к таблице атомов. DeleteAtom декрементирует
счетчик строки атомов. Но не стоит уделять слижком много внимания этому.
Удачного прогаммирования.
С уважанием ENS.

---------
Учение - свет!
Ответ отправил: ENS (статус: 3-ий класс)
Ответ отправлен: 29.09.2006, 16:16
Оценка за ответ: 4
Комментарий оценки:
спасибо я это уже понял..ну всё равно поставлю вам 4..а вдруг бы незнал :)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное