Aufpassen, AllocateHwnd erstellt ein Wincontrol, welches in der
VCL läuft.
Aber wenn die
DLL keinen Messagebehandlung für die
VCL bereitstellt, dann hängt es auch da.
Eventuell läuft es aver über die
VCL der EXE, was allerdings auch Problemchen bereiten könnte.
CreateWindow/CreateWindowEx zum Erstellen eines MessageWindows und eine MessageLoop in einem eigenem Thread könnte da helfen. (Erstellen der Windows und die MessageLoop müssen immer selben Thread ablaufen)
PS: Eine
DLL/EXE haben keine MessageQueue ... diese ist immer an einen Thread gebunden und wer einen Thread erstellt ist egal.
Die Messages der Windows werden immer an die Queue geschickt, in welchem Thread das Window erstellt wurde.