我新建了一unit_1,在unit_1中写上remoteDataModule的Tdatabase等控件时,如Tdatabase_1,“Tdatabase_1. ”后无下拉,强行写上属性,则编译时出错:identifier not declared。已经use了remoteDataModule的单元名,请赐教!!
原因在于,unit_1当中只有一个基于RemoteDataModule的class,并没有声明它的实例,所以你无法引用类对象。 比如: TTest = class(TRemoteDataModule, ITest) Tdatabase_1: TDatabase; private { Private declarations } protected class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override; public { Public declarations } end; 如果你直接使用Tdatabase_1,除非另外有一个全局的变量命名为Tdatabase_1或者本类当中声明了,那肯定不存在。
原因在于,unit_1当中只有一个基于RemoteDataModule的class,并没有声明它的实例,所以你无法引用类对象。
比如:
TTest = class(TRemoteDataModule, ITest)
Tdatabase_1: TDatabase;
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
{ Public declarations }
end;
如果你直接使用Tdatabase_1,除非另外有一个全局的变量命名为Tdatabase_1或者本类当中声明了,那肯定不存在。