@implementation:
#Develop. Und das mit dem Schwachsinn will ich mal dahin gestellt sein lassen. Es gibt hier schon einen triftigen Grund dafür, dass die Referenz selbst nicht gepeichert werden soll. Immerhin ist die gesamte Klasse quasi abstrakt - es werden ja gar keine Instanzen erzeugt.
Was ich damit schlicht erreichen will ist, dass man im eigentlichen Programm nachher die angenehme Schreibweise hat, ála:
TDB.Users[id].Name
TDB.Rights[id].Description
usw., und zwar je nach Feld nur lesend, oder auch schreibend. Dabei ist es ebenfalls wichtig, dass IMMER live aus der
DB gelesen wird. Was will ich dann jemals mit einer Instanz von TDB.Users[id] sinnvoll anfangen wollen!?
@himi:
Ich bastels mal um.
Edit: Leider kein Effekt. Die Properties sind in der eigentlichen (etwas größeren) Klasse auch nicht allein:
Delphi-Quellcode:
public
class function AddUser(aName, aSurname, aLogin, aPassword:
string): Integer;
class function UserExists(aUserID: Integer): Boolean;
overload;
class function UserExists(aLogin:
string): Boolean;
overload;
class property Query: TUniQuery
read FQuery
write FQuery;
class property Users[aUserID: Integer]: TDBUser
read GetDBUser;
class property UsersByLogin[aLogin:
string]: TDBUser
read GetDBUserByLogin;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)