У меня есть модуль данных с дескриптором HWND, который принимает вызовы PostMessage.
Дескриптор выделяется в DataModuleCreate следующим образом (TTNONVISUAL не определен):
{$IFNDEF TTNONVISUAL}
FHWND := AllocateHWND(WindProc);
{$ELSE}
FHWND := 0;
{$ENDIF}
Модуль данных также используется в невизуальной программе, где определено TTNONVISUAL .
WindProc в модуле данных заключен в {$ IFNDEF TTNONVISUAL}, поэтому в невизуальной программе WindProc нет и FHWND = 0
Будет ли в этой программе безопасно выполнять вызовы PostMessage для этого дескриптора 0?
Примечание. PostMessage не отправляет никаких дополнительных данных:
PostMessage (FHWND, WM_SYNC_PROGRESS, 0,0)
и WM_SYNC_PROGRESS - это WM_USER + 111, и других обработчиков WM_SYNC_PROGRESS нет.