AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Property nur Lesen kann nicht zugewisen werden
Thema durchsuchen
Ansicht
Themen-Optionen

Property nur Lesen kann nicht zugewisen werden

Ein Thema von Cyberaxx · begonnen am 7. Mai 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
Seite 2 von 2     12   
Muetze1
(Gast)

n/a Beiträge
 
#11

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 08:59
Zitat von Cyberaxx:
Wenn sich die Anzahl der Verbindungen oder Benutzer verändert, will ich in den Fall meiner haupt Form das mitbekommen.
Und dazu musst du den Eventhandler zuweisen. Dies machst du hier auch:

Delphi-Quellcode:
procedure TMain_Form.FormCreate(Sender: TObject);
begin
  ServerPA := TServerPA.Create(Self, Memo1.Lines);
  ServerPA.OnUserStatus := GetUserStatus;
end;
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?
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#12

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 09:02
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
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#13

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 10:14
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.
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 10:18
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 10:57
Zitat von Cyberaxx:
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.
Du weist doch nur eine Methode zu welche aufgerufen werden soll, wenn du das machen willst in deiner Komponente. Keiner kann die Anzahl der User verändern in dem Event. Du übergibst die Anzahl der Benutzer als const Parameter (ergo, nicht veränderbar) und der Property kann nur eine Methode zugewiesen werden. Wo bitte, sollte man die Anzahl der Benutzer ändern können? Allein deine Komponente legt doch beim Aufruf der Methode fest, was du für die Anzahl der Benutzer übergibst.

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?
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Property nur Lesen kann nicht zugewisen werden

  Alt 8. Mai 2007, 11:08
...
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
Frank Reim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:32 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