我做了一个组件,有一个DataSource属性,设置好DataSource属性后,发现DataSource的dataset属性取不出来,相关代码如下:
procedure TAISMDBComboBoxCode.SetbtnDataSource(ADataSource: TDataSource);
begin
if ADataSource <> btnDataSource then
begin
if Assigned(FAISMCodeBtn) then
begin
FAISMCodeBtn.DataSource := ADataSource; ******
if (ADataSource <> nil) and (ADataSource.DataSet <> nil) then ??????
begin
FCloneDataSet.CloneCursor(TClientDataSet(ADataSource.DataSet), false, false);
if FCloneDataSet.Active then ReloadData;
end
else FCloneDataSet.RemoteServer := nil;
end;
end;
end;
????这行的ADataSource.DataSet一直为空,而*****这样FAISMCodeBtn获取DataSource可以取出dataset,请问这是什么原因啊?
procedure TAISMDBComboBoxCode.SetbtnDataSource(ADataSource: TDataSource);
begin
if ADataSource <> btnDataSource then
begin
if Assigned(FAISMCodeBtn) then
begin
FAISMCodeBtn.DataSource := ADataSource; ******
if (ADataSource <> nil) and (ADataSource.DataSet <> nil) then ??????
begin
FCloneDataSet.CloneCursor(TClientDataSet(ADataSource.DataSet), false, false);
if FCloneDataSet.Active then ReloadData;
end
else FCloneDataSet.RemoteServer := nil;
end;
end;
end;
????这行的ADataSource.DataSet一直为空,而*****这样FAISMCodeBtn获取DataSource可以取出dataset,请问这是什么原因啊?
这样的话,在判断ADataSource.DataSet <> nil的时候就空了,而通过FAISMCodeBtn.DataSource获取dataset实在程序运行起来后,点击 AISMCodeBtn出发的函数中运用到的,在这个时候datasource和dataset已经创建好并且上datasource和dataset之间的对应关系已经建成,这样的话dataset属性就能取出来了啊?