![]() |
Frage zu Property
Hallo,
ich möchte eine eigene Klasse erstellen, aber das funktioniert nicht so richtig. Hier mein Code:
Delphi-Quellcode:
In der Zeile "property Bezeichnung : string[60] read fBezeichnung write fBezeichnung;"
TYPE TArtikel = class
private fBezeichnung : string[60]; public property Bezeichnung : string[60] read fBezeichnung write fBezeichnung; end; kommt die Meldung "INDEX, READ oder WRITE Anweisung erwartet, aber '[' gefunden" Was mache ich da falsch? Ich hoffe, Ihr könnt mir helfen. Vielen Dank für Eure Mühe torf160 |
Re: Frage zu Property
Wirf das mit [60] komplett raus und mach einen setter, der diese Bedingung prüft:
Delphi-Quellcode:
TYPE TArtikel = class
private fBezeichnung : string; procedure SetBezeichnung(Value: string); public property Bezeichnung : string read fBezeichnung write SetBezeichnung; end; [...] procedure TArtikel.SetBezeichnung(Value: string); begin if Length(Value) > 60 then begin // Exception werfen, String kürzen, was auch immer passieren soll, wenn der Text größer 60 Zeichen ist end; fBezeichnung := Value; end; |
Re: Frage zu Property
Was auch gehen müsste:
Delphi-Quellcode:
TYPE
TString60 = string[60]; TArtikel = class private fBezeichnung : TString60; public property Bezeichnung : TString60 read fBezeichnung write fBezeichnung; end; |
Re: Frage zu Property
Beide Lösungen funktionieren.
Toll, danke für die schnelle Hilfe :thumb: torf160 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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