Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form(s) mit Nebenfenster (https://www.delphipraxis.net/101531-form-s-mit-nebenfenster.html)

maanton 15. Okt 2007 00:42


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 08:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz