![]() |
Form(s) mit Nebenfenster
Hallo !
Delphi6 : Also, ich hab ne ziemlich kompliziertes Programm mit parallelen Fenstern und zugehörigen Threads und natürlich auch ein entsprechendes Logfile, welches die Benutzeraktionen mitprotokolliert. Systemweit gibt es also eine Funktion (SchreibInsLogFile), die in eine eigene DLL ausgelagert ist. Nun sollen die Logausgaben auch in einem Fenster (dort TMemo "AnzeigeLog") angezeigt werden ... . Hab also ein Fenster gemalt und in die DLL ausgelagert. Dieses Fenster wird auch in dem (Programmeigenen) Fenstermanager registriert und kann daher auch von dort gekillt werden. a) Alles geht gut, auch : SendMessage(LogFensterHwnd,...); Dann neues Fenster und während des Aufbaus kommt mehrfach SendMessage(LogFensterHwnd,...); und rums - neues Fenster - und Programm bleibt mitten im Aufbau stehn. Hängt also irgendwie die MessageQueue ab... Also folgendes versucht : b) procedure SchreibInsLog(text); if LogHwnd <> 0 then LogFenster.AnzeigeLog.Lines.Add(text); // hier ins Fenster SchreibInLogDatei(text); // hier in Datei end; zeigt mir LogFenster im Debugger mit Wert nil an... -> Scheisse c) also in FormCreate(Sender : TObject); Testsender := Sender; // ist massiv nicht sauber - weiss ich zwischengespeichert; und ... procedure SchreibInsLog(text); if LogHwnd <> 0 then (Testsender as TLogFenster).AnzeigeLog.Lines.Add(text); // hier ins Fenster SchreibInLogDatei(text); // hier in Datei end; => gleiches wie bei "a)" Brauche eigentlich nur eine Idee - moechte wg. Aufwand keinen eigenen Thread machen... . GGf. Wie ich aus dem FensterHwnd irgendwie aus TMemo komme oder so... . Gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz