![]() |
Wieso kann ich das Property nicht aufrufen?
Hallo,
könnte ihr mir sagen wieso ich das Property nicht aufrufen kann? Unit1:
Delphi-Quellcode:
Unit 2:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, zahlen; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var zahlenraten: TZahlen; begin zahlenraten:= TZahlen.Create; zahlenraten.SpielerZahl //<--- das Cannot access protected symbol TZahlen.SpielerZahl end; end.
Delphi-Quellcode:
Gruß,
unit zahlen;
interface type TZahlen = class(TObject) private FSpielerZahl: Integer; FZahl: Integer; FSpZahl: Integer; procedure set_FSpZahl(const AValue: Integer); procedure Zahl; protected property SpielerZahl: Integer write set_FSpZahl; end; implementation procedure TZahlen.set_FSpZahl(const AValue: Integer); begin FSpZahl := AValue; end; procedure TZahlen.Zahl; begin randomize; FZahl := random(50); end; end. Schnittcher |
Re: Wieso kann ich das Property nicht aufrufen?
Weil die Property in deiner Implementation protected ist. Schreib sie einfach in den public/published-Teil und schon gehts.
In etwa so:
Delphi-Quellcode:
type
TZahlen = class(TObject) private FSpielerZahl: Integer; FZahl: Integer; FSpZahl: Integer; procedure set_FSpZahl(const AValue: Integer); procedure Zahl; public //<------------ property SpielerZahl: Integer write set_FSpZahl; end; |
Re: Wieso kann ich das Property nicht aufrufen?
Hallo,
aber war es nicht so Methoden und Eigenschaften die im Protected Teil stehen von Units benutzt werden können? Also wenn sie eingebunden sind? Gruß, Schnittcher |
Re: Wieso kann ich das Property nicht aufrufen?
Das geht nur innerhalb der gleichen Unit.
|
Re: Wieso kann ich das Property nicht aufrufen?
Wobei mir nicht ganz klar ist, wieso das als WriteOnly-Property deklariert wurde.
Add: protected-Methoden und -Properties können in abgeleiteten Klassen benutzt werden, für andere sind sie nicht sichtbar. |
Re: Wieso kann ich das Property nicht aufrufen?
Hallo,
achso dann hatte ich das falsch verstanden. Danke. Gruß, Schnittcher |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 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