![]() |
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: ![]() ![]() [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
![]() |
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
![]() |
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 07:21 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