Warum sind Ereignisse immer als properties implementiert?
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Warum sind Ereignisse immer als properties implementiert?
Warum steht immer sowas:
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
anstatt einfach:
OnCreate: TNotifyEvent;
Edit: Wieso Propertys, wenn keine Getter (im Beispiel GetOnCreate) oder Setter (im Beispiel SetOnCreate) definiert werden?
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
anstatt einfach:
OnCreate: TNotifyEvent;
Edit: Wieso Propertys, wenn keine Getter (im Beispiel GetOnCreate) oder Setter (im Beispiel SetOnCreate) definiert werden?
Zuletzt geändert von RSE am Mi 30. Jul 2008, 17:07, insgesamt 1-mal geändert.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Dies gehört zu den Basics der Objektorientierten Programmierung:
http://www.delphi-treff.de/sprachen/obj ... entierung/
http://www.delphi-treff.de/sprachen/obj ... entierung/
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable
-
- Beiträge: 440
- Registriert: So 10. Dez 2006, 14:59
- OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
- CPU-Target: 64Bit
- Kontaktdaten:
denke mal damit die IDE diese leichter verarbeiten kann, um z.B im Objekt Inspektor einfach den Event doppelklicken und schon dieser erstellt, wenn das OnCreate jetzt kein property ist wird dieses auch nich im Objekt Insp... nicht aufgelistet ....... so denke ich zumindest das es so implementiert ist , aber naja jeder kann sich irren
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Also ich denke, solange ich nur für mich arbeite und keine megagroße Bibliothek mit selbstgebauten Komponenten habe, kann ich zur Not aus dem
OnCreate: TNotifyEvent;
immernoch ein
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
machen, falls ich tatsächlich mal irgendwann eine Komponente registrieren möchte.
OnCreate: TNotifyEvent;
immernoch ein
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
machen, falls ich tatsächlich mal irgendwann eine Komponente registrieren möchte.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
@ pluto: Da du jetzt der zweite bist, der das so meint, geh ich mal davon aus, dass das der Grund ist.
@ Christian: Weil ich nicht so ganz verstehe warum man erst so einen Konstrukt (property) drumherumbauen muss, wenn man die sich damit eröffnende zusätzliche Funktionalität (Getter und Setter) sowieso nicht benutzt. Wahrscheinlich optimiert der Compiler den Umweg zwar wieder weg, aber ohne diesen Konstrukt ist mein Quelltext schlanker.
p.s.: Dies ist wohl mein letzter Post vor dem Urlaub
@ Christian: Weil ich nicht so ganz verstehe warum man erst so einen Konstrukt (property) drumherumbauen muss, wenn man die sich damit eröffnende zusätzliche Funktionalität (Getter und Setter) sowieso nicht benutzt. Wahrscheinlich optimiert der Compiler den Umweg zwar wieder weg, aber ohne diesen Konstrukt ist mein Quelltext schlanker.
p.s.: Dies ist wohl mein letzter Post vor dem Urlaub
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!