Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Hallo,
ich hab grad einer Klasse einen PUBLISHED-Abschnitt spendiert (für Properties). Danach erhalte ich diese Warnung: Zitat:
Was ist so "gefährlich" einer Klasse einen PUBLISHED-Abschnitt zu verpassen? |
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Die Warnung kenn ich jetzt auch noch nicht, aber ist die Klasse von TComponent TPersistent abgeleitet, oder wird sie sonstwie irgendwie serialisiert?
Wenn nein, dann ist Published eh nutzlos. PS: http://docs.embarcadero.com/products...ished_xml.html http://docwiki.embarcadero.com/RADSt...e_%28Delphi%29 [add] Und TComponent TPersistent wird auch mit {$M+} definiert. |
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Nix, aber wenn Du published-Properties deklarierst, werden RTTI-Infos hinzugefügt, nichts anderes besagt ja die Meldung. Siehe dazu auch http://docwiki.embarcadero.com/RADSt...n_%28Delphi%29
|
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Zitat:
Du kannst also diese Warnung ganz einfach vermeiden, wenn du {$M+} in die Zeile vor die Klassendeklaration schreibst. |
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
also ich hab ne Klasse von class abgeleitet (also von TObject)
ich bin´s gewohnt properties immer unter published unter zu bringen, auch wenn eigentlich nichts "veröffentlich" wird. vermutlich reicht es auch unter public |
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Zitat:
|
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Wohin legt man normalerweise bei Klassen dann die Properties?
|
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Zitat:
|
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Grundsätzlich reicht public aus - wofür published ist, kannst du ja nachlesen - wobei das durch die enhanced RTTI seit Delphi 2010 auch nur noch bedingt gilt. Man kann auch public standardmäßig dynamisch auslesen. Nur bei Komponenten, die im Objektinspector ihre Eigenschaften auflisten sollen, braucht man published (der macht das nämlich noch "oldschool" und nicht über enhanced RTTI).
|
AW: Warnung W1055 PUBLISHED verursachte das Hinzufügen von RTTI
Worin?
Nach dem, wie sichtbar die Property sein sollen.
Code:
NUR sollte man beachten, daß innerhalb einer UNIT die Sichbarkeiten von private und ptotected wie public arbeiten, darum wurd nun Nachfolgendes eingeführt
private nur in der eigenen Klasse sichtbar
protected auch in Ableitungen sichtbar public öffenlich sichtbar published für die (alte) RTTI sichtbar und somit für die Serialisierungsfunktionen (wird in der DFM gespeichert)
Code:
private
strict private wie private, aber wirklich nur in der eigenen Klasse sichtbar protected strict protected wie protected, aber wirklich nur in der eigenen Klasse und den Ableitungen sichtbar public published |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 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