AW: DEB DelphiEventBus vs. System.Messaging.TMessageManager
Zitat:
Delphi-Quellcode:
Kannst natürlich noch einen überladenden Konstruktor hinzufügen, der als Argument die Parameter für die Felder übernimmt.
var
MyContainer: TMyMessageContainer; begin MyContainer := TMyMessageContainer.Create; MyContainer.Text := 'hallo'; ... MyContainer.Free; end; |
AW: DEB DelphiEventBus vs. System.Messaging.TMessageManager
Hallo TiGü,
genau das macht mir Angst. Sender macht Create, und wer Free'D das Ganze ? Deshalb war ich auf Records umgestiegen. Dein Beispiel unten liess mich hoffen das kein separates Create/Destroy nötig
Delphi-Quellcode:
TMyMegaGenericMessage.Create
Könnte man vielleicht damit verheiraten, so das es sich über ADipose selbst zerstört.
Delphi-Quellcode:
procedure TMessageManagerHelper.SendMessageAsynch(const Sender: TObject; AMessage: TMessage; ADelayMS: Cardinal;
ADispose: Boolean); begin TTask.Run( procedure begin if ADelayMS > 0 then begin Sleep(ADelayMS); end; TThread.Queue(nil, Self.SendMessage(Sender, AMessage, ADelayMS); end); end; procedure TMessageManagerHelper.SendMessageAsynch(const Sender: TObject; AMessage: TMessage; ADispose: Boolean); begin SendMessageAsynch(Sender, AMessage, 0, ADispose); end; Rollo |
AW: DEB DelphiEventBus vs. System.Messaging.TMessageManager
Für diese Fälle gibt es ja
Delphi-Quellcode:
. Dem kann man im Create mitgeben, ob es sich um die Freigabe der Instanz kümmern soll.
TObjectMessage<T: class> = class(TMessage<T>)
|
AW: DEB DelphiEventBus vs. System.Messaging.TMessageManager
Wieder was dazugelernt ...
Dankesehr :thumb: Rolf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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