![]() |
Re: Property nur Lesen kann nicht zugewisen werden
Zitat:
Delphi-Quellcode:
Somit muss er schreibbar sein, wie willst du ihm sonst was zuweisen. Und warum darf das Ding nun nur lesen sein? Was willst du damit bezwecken?
procedure TMain_Form.FormCreate(Sender: TObject);
begin ServerPA := TServerPA.Create(Self, Memo1.Lines); ServerPA.OnUserStatus := GetUserStatus; end; |
Re: Property nur Lesen kann nicht zugewisen werden
Hallo,
irgendwie habe ich das Gefühl, dass Du das Konzept der Ereignisse in Delphi noch nicht ganz verstanden hast. Ein Ereignis ist ja nichts anderes als eine Variable, die auf eine Methode zeigt. Diese wird dann aufgerufen, wenn das Ereignis auftritt. Wenn Du also Ereignisse nutzen willst, bleibt Dir eigentlich nichts anderes übrig, als diese beschreibbar zu machen. Wie soll sonst die Klasse wissen, welche Methode sie aufrufen soll, wenn das Ereignis eintritt? Die einzige sinnvolle Alternative hat alzaimar ja schon genannt. Gruß xaromz |
Re: Property nur Lesen kann nicht zugewisen werden
Die Anzahl der Verbindungen wird ja vom Socket geliefert.
Ich darf sie also nicht verändern. Darum dachte ich eigentlich das das Read eben reicht. |
Re: Property nur Lesen kann nicht zugewisen werden
ich hab das gleiche Gefühl wie xaromz.
Wenn der Nutzer keine Event-Methode zuweisen kann bekommt er auch nie das Event augelöst. Folglich kannst du dann gleich das Event weglassen. Wenn du aber willst das dieses Event ausgelöst werden kann so musst du auch die Möglichkeit bieten das jemand auf das Event reagieren darf und somit auch eine Ereignisprocedure zuweisen kann. Was du vor hast wäre als wölltest du verbieten das mit dem Button eine OnClick-Methode zuweisen kann. Dann würde man genau so wenig mitbekommen wenn der Button geklickt wird. |
Re: Property nur Lesen kann nicht zugewisen werden
Zitat:
Wenn du einem Button das OnClick zuweist: kannst du dort irgendwo den Click so verändern dass er nicht auftritt oder vllt. zum Tastendruck wird? |
Re: Property nur Lesen kann nicht zugewisen werden
...
und es macht auch keinen Sinn, mit einem Ereignis Zustandsmeldungen zu versenden. Für dein Property OnUserStatus reicht TNotifyEvent. Damit übergibst du deinen Server im Parameter Sender (siehe mein Beispiel). Dann sollte dein TServerPA 2 ReadOnly Propertys ConnectedUserCount und ConnectionCount besitzen. Damit kann ich mir in meiner Ereignisbehandlungsmethode die Infos über TServerPA(Sender).ConnectionCount etc. zur Anzeige im Form holen. Das Ereignis sollte nur über die Zustandsänderung benachrichtigen. Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz