Hallo Zusammen,
ich habe ein Testprojekt angehängt.
In diesem Projekt sendet und empfängt die Anwendung BROADCAST Nachrichten in einer Anwendung!
Die Test-Anwendung scheint so weit zu funktioniert und macht auch scheinbar keine Probleme da sie auch kaum Funktionalität beinhaltet. Integriere ich es jedoch in meiner Anwendung kommt es vor dass die Anwendung spürbar langsamer wird. Auch habe ich den Effekt dass wenn eine Nachricht gesendet wird und Thunderbird im Hintergrund aktiv ist, wird Thunderbird in den Vordergrund gezogen. Warum Thunderbird, keine Ahnung.
Die gesamte Technik habe ich in der Form BroatcastSenderReceiver.pas gesteckt. Ich binde die Form ein der MainForm ein und registriere einen Event.
Ich habe es in eine separate Form extrahiert und nicht in ein DataModul da SendMessage ein Form
handle benötigt.
Das Ziel ist eigentlich, eine Datenbank-Anwendung wird auf einem Rechner zweimal gestartet, und läuft jeweils auf einem Monitor, wird auch so benötigt. Wenn die Anwendung A einen Datensatz ändert, soll die Anwendung B ein refresh durchführen wenn zufällig der gleiche Datensatz angezeigt wird. Als Datenbank verwende ich Firebird. Ich habe auch die Events benutzt die Firebird und Firedac anbietet, doch es gab fälle da hat es eben nicht zuverlässig funktioniert. Deshalb versuche ich jetzt selbst über BROADCAST Nachrichten.
Ich habe leider keine Erfahrung mit Windows messaging. Was zuverlässig funktionieren würde wäre eine
TCP Kommunikation. Für eine einfache Benachrichtigung wollte ich eben keinen Listener aufsetzen. Möglicherweise sollte ich keine BROADCAST Nachricht senden sondern nur eine bestimmte registrieren, aber wie gesagt, da habe ich keine Erfahrung damit.
Möglicherweise ist jemand dabei der Erfahrung mit Windows messaging hat und kann mir an den angehängten Projekt zeigen was nicht in Ordnung ist.