Примечание:
Решил сделать сущности в виде интерфейсов, а вот как эти интерфейсы хранить и использовать в DataSet
Примечание:
Есть интерфейс
IUsers = Interface(IInterface)
['{5C6197D7-97F6-4BF2-A411-AB0B3532773E}']
Function Get_Id: Longint;
Procedure Set_Id(Const i: Longint);
Function Get_Name: String;
Procedure Set_Name(Const i: String);
Function Get_Password: String;
Procedure Set_Password(Const i: String);
Function Get_Full_Name: String;
Procedure Set_Full_Name(Const i: String);
Function Get_Enabled: Smallint;
Procedure Set_Enabled(Const i: Smallint);
Function Get_Priority: Smallint;
Procedure Set_Priority(Const i: Smallint);
Function Get_Is_Admin: Smallint;
Procedure Set_Is_Admin(Const i: Smallint);
Function Get_Barcode: String;
Procedure Set_Barcode(Const i: String);
Function Get_Select: String;
Procedure Set_Select(Const i: String);
Function Get_Created: TDateTime;
Procedure Set_Created(Const i: TDateTime);
Function Get_Modified: TDateTime;
Procedure Set_Modified(Const i: TDateTime);
Function Get_Deleted: TDateTime;
Procedure Set_Deleted(Const i: TDateTime);
Property Id: Longint Read Get_Id Write Set_Id;
Property Name: String Read Get_Name Write Set_Name;
Property Password: String Read Get_Password Write Set_Password;
Property Full_Name: String Read Get_Full_Name Write Set_Full_Name;
Property Enabled: Smallint Read Get_Enabled Write Set_Enabled;
Property Priority: Smallint Read Get_Priority Write Set_Priority;
Property Is_Admin: Smallint Read Get_Is_Admin Write Set_Is_Admin;
Property Barcode: String Read Get_Barcode Write Set_Barcode;
Property Select: String Read Get_Select Write Set_Select;
Property Created: TDateTime Read Get_Created Write Set_Created;
Property Modified: TDateTime Read Get_Modified Write Set_Modified;
Property Deleted: TDateTime Read Get_Deleted Write Set_Deleted;
End;
и есть его реализация
Type
TUsers = Class(TInterfacedObject, IUsers)
Protected
Id: Longint;
Name: String;
Password: String;
Full_Name: String;
Enabled: Smallint;
Priority: Smallint;
Is_Admin: Smallint;
Barcode: String;
Select: String;
Created: TDateTime;
Modified: TDateTime;
Deleted: TDateTime;
Public
Function Get_Id: Longint;
Procedure Set_Id(Const i: Longint);
Function Get_Name: String;
Procedure Set_Name(Const i: String);
Function Get_Password: String;
Procedure Set_Password(Const i: String);
Function Get_Full_Name: String;
Procedure Set_Full_Name(Const i: String);
Function Get_Enabled: Smallint;
Procedure Set_Enabled(Const i: Smallint);
Function Get_Priority: Smallint;
Procedure Set_Priority(Const i: Smallint);
Function Get_Is_Admin: Smallint;
Procedure Set_Is_Admin(Const i: Smallint);
Function Get_Barcode: String;
Procedure Set_Barcode(Const i: String);
Function Get_Select: String;
Procedure Set_Select(Const i: String);
Function Get_Created: TDateTime;
Procedure Set_Created(Const i: TDateTime);
Function Get_Modified: TDateTime;
Procedure Set_Modified(Const i: TDateTime);
Function Get_Deleted: TDateTime;
Procedure Set_Deleted(Const i: TDateTime);
Destructor Destroy; Override;
Constructor Create;
End;
Как мне этот интерфейс записать в DataSet? к соответствующему полю.
Примечание:
хм: Пример не помешал бы. Всегда лучше увидеть, чем услышать.
Можно по русски писать, если есть возможность, а то переводить приходится. Украинский как то не знаю.
Примечание:
ADR-007 вы писали: "Якщо тобі потрібні дані (Id, Name...) то їх і записуй."
Да я их то буду писать, для показа например в гриде, только дело в том что интерфейс самоуничтожиться может, вот мне и надо как то интерфейс прикрутить к его данным в MEMDATASET`e например.
Примечание:
Для дальнейших манипуляций с ним.