Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Immer Ärger mit ARC

  Alt 30. Okt 2014, 16:01
Da habe ich doch gerade herausgefunden, dass man vom Delphi-Referenz durchsuchenSystem.Messaging.TMessageManager.DefaultManager auch benachrichtigt werden kann, wenn die Form erzeugt wird.

Logischer-(Emba-)weise wird in der versendeten Message nicht die Form-Instanz mitgegeben (nachher kann man noch damit etwas sinnvolles anfangen, das muss sofort unterbunden werden ).

Als Sender bekommt man dafür die Application -Instanz geliefert. Die ist auch wichtig ... da kommt man immer so schwer dran ... aber im Kontext gesehen ist das richtig, denn Application schickt die Nachricht auf die Reise. Na gut.
Delphi-Quellcode:
TMessageManager.DefaultManager.SubscribeToMessage(
  TFormsCreatedMessage,
  procedure ( const Sender : TObject; const AMessage : TMessage )
  begin
    // hier irgendwas sinnvolles machen
  end );
Ach ja, nicht verwirren lassen, dass die Nachricht TFormsCreatedMessage lautet und jeder aufmerksame Leser da eine Nachricht vermutet, die verschickt wird, wenn alle Forms Created sind. Nein, die kommt logischerweise bei jeder Form (die über TApplication.CreateForm erzeugt wird).

Irgendwie beschleicht mich das Gefühl, die haben sich da vertan und wollten die Nachricht am Ende der Schleife verschicken (da würde der Message-Name einen Sinn ergeben und auch das Fehlen der Form-Instanz)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat