Einzelnen Beitrag anzeigen

andimx

Registriert seit: 14. Apr 2005
Ort: Hohenstein-Ernstthal
67 Beiträge
 
#1

HWND_BROADCAST + WM_USER auf MDI

  Alt 6. Apr 2006, 15:02
Hallo Leute,

Ist wahrscheinlich einfacher als ich denk.
Ich hab mir selbst eine Registry (TrrRegistry Klasse) mir gebastelt, die jetzt von verschiedenen Orten aufgerufen wird. Wenn jetzt natürlich einer der Anwendungen eine änderung in der Registry macht, dann sollen auch die anderen Instanzen upgedatet werden.
Dies will ich durch eine Sendmessage(HWND_BROADCAST... erreichen... nur leider kommen keine Messages an.

Zudem hab ich jetzt auch in meiner Hauptform mehrere MDI Childs, z.B. der Registry Editor. Anbei mal ein Screenshot. Ich hab nun gelesen das mit HWND_BROADCAST nur Top-Level Fenster ansteuert. Aber nicht einmal da kommt was an.

Hier kurz zu meinem Code:

Delphi-Quellcode:
  // Die Message

  {$EXTERNALSYM RRPC_REGISTRY_UPDATE}
  RRPC_REGISTRY_UPDATE = WM_USER + 65;

  // z.B.
  TrrRegistryUpdate = class
   private
    procedure DoRegistryUpdate;
    procedure OnRegistryUpdate(var Message: TMessage); message RRPC_REGISTRY_UPDATE;
  end;
   
  implementation

   procedure TrrRegistryUpdate.DoRegistryUpdate;
    begin
     SendMessage(HWND_BROADCAST, RRPC_REGISTRY_UPDATE, hInstance, 0);
    end;

   procedure TrrRegistryUpdate.OnRegistryUpdate(var Message: TMessage);
    begin
     // Wenn message eintrifft...
     UpdateRegistry(..);
    end;

Irgendwelche Ideen???

Gruss

Andi
Miniaturansicht angehängter Grafiken
rra_369.jpg  
  Mit Zitat antworten Zitat