AGB  ·  Datenschutz  ·  Impressum  







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

[XE5]: Nutzung des Datenmoduls

Ein Thema von Kralle · begonnen am 27. Jan 2014 · letzter Beitrag vom 31. Jan 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.575 Beiträge
 
Delphi 12 Athens
 
#1

AW: [XE5]: Nutzung des Datenmoduls

  Alt 28. Jan 2014, 13:09
Der Vorteil es nicht nur als viele globale Variablen zu machen, ist der, daß man sich später problemlos da überall reinhängen kann, ohne daß am Aufrufenden Code etwas geändert werden muß.

Das reicht schon vollkommen.
Delphi-Quellcode:
type
  Global = class abstract
  private class var
    FUserID : Integer;
    FUserRoleID : Integer;
    FUsername : string;
  public
    class property UserID : Integer read FUserID write FUserID;
    class property UserRoleID : Integer read FUserRoleID write FUserRoleID;
    class property Username : string read FUsername write FUsername;
  end;
Getter und Setter läßt sich nachträglich einfügen und schon kann man Code für eine Werte-Kontrolle der Felder integrieren, oder ein Logging oder oder oder...

Und viel mehr Aufwand ist es auch nicht.
Delphi-Quellcode:
type
  Global = class abstract
    class property UserID : Integer;
    class property UserRoleID : Integer;
    class property Username : string;
  end;
Nun nur noch Strg+Alt+C (Klassenvervollständigung) und fertig isses.


OK, abgesehn von dem BUG, welcher hier grade auftritt.
Denn so sollte das Ergebnis der Klassenvervollständigung wirklich nicht aussehn.
Delphi-Quellcode:
  Global = class abstract
    class property UserID : Integer read FUserID write SetUserID;
    class property UserRoleID : Integer read FUserRoleID write SetUserRoleID;
    class property Username : string read FUsername write SetUsername;
  private
    FUserID: Integer;
  private
    class var FUserRoleID: Integer;
  private
    class var FUsername: string;
  private
  private
  private
    procedure SetUserID(const Value: Integer);
    class procedure SetUsername(const Value: string); static;
    class procedure SetUserRoleID(const Value: Integer); static;
  end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: [XE5]: Nutzung des Datenmoduls

  Alt 28. Jan 2014, 16:28
Wieso kann man eigentlich keine Class Const deklarieren, und auch kein Class Type? Ich hab diese geniale Idee mit den Klassenvariablen nämlich gleich mal ausprobiert, um nicht immer alles im Datenmodul deklarieren zu müssen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: [XE5]: Nutzung des Datenmoduls

  Alt 28. Jan 2014, 16:29
Wieso kann man eigentlich keine Class Const deklarieren, und auch kein Class Type? Ich hab diese geniale Idee mit den Klassenvariablen nämlich gleich mal ausprobiert, um nicht immer alles im Datenmodul deklarieren zu müssen.
Weil es unnötig ist

Die Konstanten sind immer da und erreichbar und die Types auch
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: [XE5]: Nutzung des Datenmoduls

  Alt 28. Jan 2014, 16:31
Hab Dank, Sir Rufo, genau das hatte ich vermutet, denn es hat bei Const und Type auch ohne vorangestelltes Class funktioniert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.575 Beiträge
 
Delphi 12 Athens
 
#5

AW: [XE5]: Nutzung des Datenmoduls

  Alt 28. Jan 2014, 16:33
Es gibt class abstract , wo der Compiler und auch zur Laufzeit eine Exception werfen sollte, wenn man versucht davon eine Instanz zu createn. (die weitere Vererbung könnte man auch noch abschalten)
Und du kannst es auch gerne als Record deklarieren.

In die Klasse rein, kann man auch noch abhängige/private Typen und Konstanten aufnehmen, welche dann nicht im Kontext der Unit "öffentlich" rumschwirren.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jan 2014 um 16:37 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 02:27 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