B
@ asdca / Martin Richter: Ich bin weder ein ausgefuchster Provokateuer noch teile ich in diesem Forum allein Blödsinn mit.
Ich hatte vorgeschlagen, den DLLs einen moduslosen Dialog (hat ein Fenster-Handle) hinzuzufügen, dessen Dialog-Funktion gesendete Nachrichten entgegennimmt. Eine DLL bekommt so ein Gegenstück zu WndProc der Applikation. Damit war die Fragestellung des Themas beantwortet.
Dieser Dialog kann unsichtbar und völlig leer sein:
DLLid DIALOG 0,0,0,0
BEGIN
END
Das ganze läuft so: die Applikation ruft als erste Anforderung eine DLL-Funktion DLLidInit(hwndApp,...) auf. DLLidInit richtet mit CreateDialog den moduslosen Dialog ein und teilt der Applikation dessen Fenster-Handle sowie ihre id mit: SendMessage(hwndApp,DLL_HWND,id,(LONG)hwndDLL). Die Applikation teilt dann genauso allen DLLs die Fenster-Handles der anderen DLLs mit. Das ist schon der gesamte notwendige Programmüberbau, der sich leicht standardisieren lässt. Dem direkten Senden von Nachrichten zwischen DLLs steht nichts mehr im Wege. Was die DLLs damit machen, bleibt im Ermessen der Aufgabenstellung.
Ich betrachte diesen Vorschlag als allgemein interessant, Man kann damit ein nützliches Werkzeug für die Software-Entwicklung und die Programmpflege schaffen. Ich habe das Funktionieren mit Testanwendungen ausreichend verifiziert.
Alles klar auf der Andrea Doria!