Hallo Mak,
ein Create einer Form reicht nicht aus. Das
Handle einer Form ist erst im OnShow-Ereigniss einer Form verfügbar. Ein Timer ist in der Tat sowas wie ein Thread von Windows. Wenn ich dich richtig verstanden habe, mußt die natürlich in deinem OnTimer-Event abfragen, ob die Form vorhanden ist und angezeigt wird. Folgender Weg könnte dein Problem lösen:
1. Erzeuge deine Form für die Fehlerausgabe (also mit dem StringGrid) bereits beim Programmstart und setze sie auf Invisible (Visible := False).
2. Wenn durch deine Funktion Daten in den StringGrind abgelegt werden sollen, kann das nun zu jedem Zeitpunkt erfolgen.
3. Zeige die Fehler-Form durch Visible := True an, wenn es notwendig ist.
4. Zerstöre die Form erst mit dem Programmende.
Mit diesem Weg hast du nun kein Problem mit dem Timer. Es funktioniert immer. Ich verwende diesen Weg selbst an zahlreichen Stellen.
Grüße Kay