我写了一个基类如下:
type
T_T_Class = packed record //部门组织表
FClassId: integer;//部门内码
FOrganId: integer;//机构内码
FOrganName: string[50];//部门名称
FOrganHideFlag: boolean;//部门隐藏标志 0开1关
end;type
TDataBase = class(TInterfacedObject)
private
FADOC : TADOConnection;
FADOQ : TADOQuery;
FDS : TDatasource;
FConnectionString : string;
FT_Class: T_T_Class;//部门组织表
procedure SetT_Class(const Value: T_T_Class);
publicfunction Checkeed: Boolean;
procedure InitQuery(InputQuery: TADOQuery; QueryString: String);
function OpenDataBase():TDataSource;overload;
function OpenDataBase(ConnectionString: String):TDataSource;overload;
procedure CloseDataBase();
function InsertRecord(MyTabel:T_Tabel;Reco:T_T_Organ):boolean;overload; function QueryRecord(value:string):TADOQuery;virtual;abstract;
function DeleteRecord(Value : Integer):boolean;virtual;abstract;
function AddRecord(Value : T_T_Organ):boolean ;virtual;abstract; //
function SaveRecord(Value : T_T_Organ):boolean;virtual;abstract; //
procedure NextRecord;virtual;abstract; //
procedure PriorRecord; virtual;abstract; //
function IsLock():boolean;virtual;abstract; //
function GetQuery: TADOQuery;overload;virtual; //
function GetExecuteScalar(QueryString: String): Variant;overload;virtual; //
function GetExecuteNoQuery(ExecuteSQL:String):Boolean;overload;virtual; //property T_Class: T_T_Class read FT_Class write SetT_Class; // 这里把T_T_Class作为类的一个属性;
end;然后继承基类(不在同一个单元里):type
TFundPlanManClass = class (TDataBase, IMyInterEverdayFundExpend, IMyInterEnterPlanFunds)
public
function test(): string;
function test1():string;
function test2():string;
end;function TFundPlanManClass.test: string;
var
a : TEnterPlanFundsClass;
begin
a := TEnterPlanFundsClass.Create;
a.T_Organ.FOrganId:=1; //这里为什么会出错 错误提示是: Left side cannot be assigned to
end;
type
T_T_Class = packed record //部门组织表
FClassId: integer;//部门内码
FOrganId: integer;//机构内码
FOrganName: string[50];//部门名称
FOrganHideFlag: boolean;//部门隐藏标志 0开1关
end;type
TDataBase = class(TInterfacedObject)
private
FADOC : TADOConnection;
FADOQ : TADOQuery;
FDS : TDatasource;
FConnectionString : string;
FT_Class: T_T_Class;//部门组织表
procedure SetT_Class(const Value: T_T_Class);
publicfunction Checkeed: Boolean;
procedure InitQuery(InputQuery: TADOQuery; QueryString: String);
function OpenDataBase():TDataSource;overload;
function OpenDataBase(ConnectionString: String):TDataSource;overload;
procedure CloseDataBase();
function InsertRecord(MyTabel:T_Tabel;Reco:T_T_Organ):boolean;overload; function QueryRecord(value:string):TADOQuery;virtual;abstract;
function DeleteRecord(Value : Integer):boolean;virtual;abstract;
function AddRecord(Value : T_T_Organ):boolean ;virtual;abstract; //
function SaveRecord(Value : T_T_Organ):boolean;virtual;abstract; //
procedure NextRecord;virtual;abstract; //
procedure PriorRecord; virtual;abstract; //
function IsLock():boolean;virtual;abstract; //
function GetQuery: TADOQuery;overload;virtual; //
function GetExecuteScalar(QueryString: String): Variant;overload;virtual; //
function GetExecuteNoQuery(ExecuteSQL:String):Boolean;overload;virtual; //property T_Class: T_T_Class read FT_Class write SetT_Class; // 这里把T_T_Class作为类的一个属性;
end;然后继承基类(不在同一个单元里):type
TFundPlanManClass = class (TDataBase, IMyInterEverdayFundExpend, IMyInterEnterPlanFunds)
public
function test(): string;
function test1():string;
function test2():string;
end;function TFundPlanManClass.test: string;
var
a : TEnterPlanFundsClass;
begin
a := TEnterPlanFundsClass.Create;
a.T_Organ.FOrganId:=1; //这里为什么会出错 错误提示是: Left side cannot be assigned to
end;
解决方案 »
- c/s问题
- 如何在 StringGrid 上移动光标到上行或下行时,第零列上画上红色的字符 "->>>"
- 在使用fastReport时,如何检测打印机是否联机?
- 如何让delphi设计的界面连接上ACCESS设计的数据库
- 研究生快毕业了。大家帮我定定毕业论文的题目。
- ★★★CSDN结贴联盟第17次信誉提问!!★★★
- 谁有向表中存、取图片内容(不是存文件名)的好方法,谢谢
- 过节了,技术大放送9:用程序将大文件分割成1.44MB的大小。
- 又一个简单问题,来拿分,关于FORM。
- 请用户名为http1(http1),DepYuka()和dana(dana)和我联系好吗?
- tsrtinglist 去读取 网页地址 出错 求解
- 如何追踪PageControl的activepage
type
T_T_Class = packed record //部门组织表
FClassId: integer;//部门内码
FOrganId: integer;//机构内码
FOrganName: string[50];//部门名称
FOrganHideFlag: boolean;//部门隐藏标志 0开1关
end;
function TFundPlanManClass.test: string;
var
a : TEnterPlanFundsClass;
aClass: T_T_Class;
begin
a := TEnterPlanFundsClass.Create;
aClass.FClassId:=1;
a.a.T_Class:=aClass;
//...
end;
a:TEnterPlanFundsClass;
begin
a := TEnterPlanFundsClass.Create;
ttclass.FClassId:=1;
a.T_Class:=ttclass;
end;
FOrganName: FOrganHideFlag 如果这些不赋值,直接执行a.T_Class:=aClass; 哪么没有赋值的是否默认为空呢?谢谢
dd_zhouqian,我的ClassId是个packed record 类型呀,我在上面定义的有,你可以看看,谢谢。
property T_Class: T_T_Class Read FT_Class write SetT_Class;屬性方法:
procedure SetT_Class(Value : T_T_Class);
begin
FT_Class.FClassID := Value.FCLassID;
FT_Class.FOrganId := Value.FT_FOrganId ;
...
end;
使用時,傳這個類型的record進去就好...
FClassId:=1