здравствуйте, интересует такой вопрос, сегодня помогал одному человеку исправлять ошибки в его коде, суть ошибки в том, что после нескольких(штук 100) WM_COMMAND от кнопки перестало приходить сообщение WM_COMMAND. на этом месседже была утечка памяти в 2 кб за 1 клик(по кнопке кликали). так вот, попутно стал разбирать ту ошибку и обнаружил, что там каждый раз вызывается CreateSolidBrush для создания кисти, которая будет красить кнопку(WM_CTLCOLORBTN), по которой кликали без освобождения предыдущей кисти . так вот, почему эта утечка повлияла на подсистему сообщений? я всегда думал, что они не связаны... эдд: когда я сказал исправить ту ошибку, он мне сказал, что всё заработало и, я и дальше не стал продолжать
kernel16, создавайте вначале нужное кол-во брашей и потом при прорисовке нужую возвращайте. В GDi хендлах под них память то выделяется.
это не мой код и за других переделывать мне за фри неохота(тем более там и соккет и окна и -и... всё в одной куче) 1) там, вроде, перестали приходить сообщения . если после всех операций главному окну на время снять флаг вс_визуал, то после повторного показа окна дочерние кнопки не перерисовываются и от них не приходят сообщения, хотя по моей логике всё должно кое-как, но работать.
в смысле, разве "рисование" в контексте устройства и сообщения окон связаны ? там же , вроде, особой перегрузки не было.
Код (Text): format pe GUI include '%fasm%\include\win32ax.inc' .code start: @@: invoke CreateSolidBrush, 0 invoke Sleep, 1 jmp @b .end start