eine ziemlich wirre Beschreibung. Hier würde mich mal der quelltext interessieren.
wie erzeugst du den Thread? Und an welcher Stelle erzeugst du dann den Timer (TTimer?).
Zitat:
...eine weitere klasse gekapselt, die via AllocateHWND ein fensterhandle bekommt, ...und in ihrer MessageProc auf den timer reagiert.
(wenn ich das ganze in ner
DLL laufen lasse, dann hab ich mich jetzt im nachhinein gewundert, dass die Message aus dem thread (ist ja via Postmessage gesendet) überhaupt ankommt. es gibt ja keine schleife die diese Message verarbeiten könnte. ...)
Läuft in dem Thread in dem du AllocateHWND aufgerufen hast kein MessageLoop? Wenn die Klasse im gleichen Thread erzeugt wurde in dem auch dein TApplication.Run der Hauptanwendung läuft dann gibt es auch einen Messageloop.
Ein Messageloop bekommt (mit GetMessage etc.) alle Messages der Fenster des Threads in dem der Loop läuft.
Dabei ist es egal in welchem Programmmodul (
dll, exe etc.) das Fensterhandel angefordert wurde. Ausschlaggebend ist einzig und allein der Thread.