Братцы, может кто пояснит мне такую вещь.
Допустим есть некое сообщение WM_APP + 1, в lParam хочется передать объект, скажем LPCSTR. Причем сообщение посылается с помощью PostMessage, то есть строка создается на куче, так? Вопрос: каким образом и где нужно делать delete этой строке? В обработчике сообщения? Не очевидно...
Re: Параметры сообщения: когда освобождать память?
Здравствуйте, Kislookhin, Вы писали:
K>Братцы, может кто пояснит мне такую вещь. K>Допустим есть некое сообщение WM_APP + 1, в lParam хочется передать объект, скажем LPCSTR. Причем сообщение посылается с помощью PostMessage, то есть строка создается на куче, так?
Именно так.
Вопрос: каким образом и где нужно делать delete этой строке? В обработчике сообщения? Не очевидно...
Очевидно...
Имею скафандр — готов путешествовать!
Re: Параметры сообщения: когда освобождать память?
Здравствуйте, rus blood, Вы писали:
K>>Допустим есть некое сообщение WM_APP + 1, в lParam хочется передать объект, скажем LPCSTR. Причем сообщение посылается с помощью PostMessage, то есть строка создается на куче, так? RB>Именно так.
RB>Вопрос: каким образом и где нужно делать delete этой строке? В обработчике сообщения? Не очевидно... RB>Очевидно...
Гм. Почему тогда вы не делаете то же самое с параметрами системных сообщений перехватываемыми обработчиками? И кто тогда занимается особождением этих многочисленных ссылок на офигенные по размерам структуры типа NMHDR* и т.п.?
Re[3]: Параметры сообщения: когда освобождать память?
Здравствуйте, Kislookhin, Вы писали:
K>Гм. Почему тогда вы не делаете то же самое с параметрами системных сообщений перехватываемыми обработчиками?
Потому что этого не предписано в документации.
K>И кто тогда занимается особождением этих многочисленных ссылок на офигенные по размерам структуры типа NMHDR* и т.п.?
Для начала — отчего ты уверен, где и как размещены эти структуры?
Сделать в системе сборку мусора — кропотливая, но нужная и понятная работа. Но вот подумать, как система будет анализировать твой LPARAM, решая, то ли это указатель на что-то, то ли "просто число" — хотел бы я посмотреть на подобный код
Re[3]: Параметры сообщения: когда освобождать память?
Здравствуйте, Kislookhin, Вы писали:
K>Гм. Почему тогда вы не делаете то же самое с параметрами системных сообщений перехватываемыми обработчиками? И кто тогда занимается особождением этих многочисленных ссылок на офигенные по размерам структуры типа NMHDR* и т.п.?
А почему ты думаешь, что они отправляются post-ом ?