Привязка памяти к окну

Тема в разделе "WASM.WIN32", создана пользователем tigsid, 22 апр 2005.

  1. tigsid

    tigsid Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    62
    Мне нужно чтобы у каждого окна был свой довольно большой кусок памяти.

    Сейчас я делаю это через SetWindowLong и GetWindowLong(hWnd,0) == pMem

    Долго ли выполняется эти функции? Как лучше это делать?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Ну, сначала нужно выделить этот "большой кусок памяти". Выделяется в WNDCLASS[EX] для класса и окна.



    А насчёт скорости - нет, не долго. Парочка вызовов и помещение данных в структуру.
     
  3. rst

    rst New Member

    Публикаций:
    0
    Регистрация:
    5 май 2003
    Сообщения:
    165
    Ещё можно

    SetProp



    Либо хранить глобальный мэп с ключем по HWND. Как это делает MFC\ATL
     
  4. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    да, properties подойдет однозначно. Даже дельфи их пользует для своих окон. ;)
     
  5. Avalonec

    Avalonec New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    111
    Адрес:
    Тула
    Даже дельфи их пользует для своих окон

    Тогда однозначно, не подходит ;)
     
  6. rst

    rst New Member

    Публикаций:
    0
    Регистрация:
    5 май 2003
    Сообщения:
    165
    Более эффективно - мэп, с хендлами в качестве ключей.

    Во-первых это быстрее - т.к. просто работа с памятью, имеющей фиксированное время доступа.

    Во-вторых никаких вызовов виндовой подсистемы.