AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Attribute einer Methode in Methode abfragen

Ein Thema von hschmid67 · begonnen am 3. Feb 2018 · letzter Beitrag vom 13. Aug 2019
 
hschmid67

Registriert seit: 2. Jul 2012
Ort: Weilheim i. Obb.
75 Beiträge
 
Delphi 12 Athens
 
#1

Attribute einer Methode in Methode abfragen

  Alt 3. Feb 2018, 11:37
Delphi-Version: 5
Hallo Zusammen,

ich wäre froh, wenn mir jemand bei einer Verständnisfrage zu Attributen helfen könnte.
Ich möchte gerne in einer eigene Klasse Methoden durch Attribute so kennzeichnen, dass sie nur bestimmte User ausführen dürfen.

(habe mal wieder vergessen, die Delphi-Version umzustellen: Habe nicht Delphi 5 sondern Tokyo Pro)


Ich habe mir in etwa folgenden Pseudo-Code vorgestellt:

Delphi-Quellcode:
TmyClass = class
  [RightAttribute('Special')]
  procedure DoSpecialJob;
end;

procedure TmyClass.DoSpecialJob;
begin
  if not CurrentUserHasRight(RightOfMethod) then
    raise Exception.Create('Method not allowed for user');

  // eigentlicher Code der Methode
end;
Ich weiß nun leider nicht, wie ich mit "RightOfMethod" die Attribute der gerade ausgeführten Methode abfragen kann.

Man könnte natürlich das Attribut weglassen und gleich in die Methode schreiben, aber eigentlich fände ich es eleganter, wenn solche Attribute/Konfigurationen im Interface-Teil stünden und nicht in der Implementation.

Also, ersatzweise ging sonst in der Implementation auch

Delphi-Quellcode:
procedure TmyClass.DoSpecialJob;
begin
  if not CurrentUserHasRight('Special') then
    raise Exception.Create('Method not allowed for user');

  // eigentlicher Code der Methode
end;
Beginne gerade, mit Attributen zu experimentieren - und vielleicht habe ich das eine oder andere noch nicht ganz verstanden. Deshalb wäre ich für jeden Hinweis dankbar. Oder im konkreten Fall auch für eine andere Lösung des Problems

Viele Grüße
Harald
Harald Schmid
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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