![]() |
IsPublishedProp liefert für Published-Property False - wieso
Hallo,
ich habe eine Property, welche ich 'published' gesetzt habe. Frage ich diese Property nun auf 'published' ab, so erhalte ich False - ich verstehe nicht warum, und hoffe, dass mir jemand von Euch helfen kann.
Delphi-Quellcode:
Unit Unit2;
Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TypInfo; Type TTestClass = Class private FTest: Integer; Procedure SetTest(Const Value: Integer); published Property Test: Integer read FTest write SetTest; End; TForm2 = Class(TForm) Procedure FormCreate(Sender: TObject); private Testklasse: TTestClass; End; Var Form2: TForm2; Implementation {$R *.dfm} { TTestClass } Procedure TTestClass.SetTest(Const Value: Integer); Begin FTest := Value; End; Procedure TForm2.FormCreate(Sender: TObject); Begin Testklasse := TTestClass.Create; If IsPublishedProp(Testklasse, 'Test') Then SetPropValue(Testklasse, 'Test', 5); ShowMessage(IntToStr(Testklasse.Test)); End; End. |
Re: IsPublishedProp liefert für Published-Property False - w
Hi,
da liegt daran, dass du von TObject abgeleitet hast. Hier gibt es normalerweise keine Published Props. Du musst dann explizit für die Klasse Code für RTTI erzeugen lassen (Compilerschalter {$M+}) oder z.B. von TCompoenet ableiten. Cu, Frank |
Re: IsPublishedProp liefert für Published-Property False - w
Hallo,
deine Klasse muss entweder von TPersistent abgeleitet sein oder mit dem Compilerschalter {$M} eingefasst werden:
Delphi-Quellcode:
Gruß Hawkeye
{$M+}
TTestClass = Class [...] End; {$M-} |
Re: IsPublishedProp liefert für Published-Property False - w
Klingt einleuchtend - danke Euch :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 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