我在程序里有两个地方要用到同一个FRAME,代码如下,但是程序好像只认一个frame,即创建了一个frame后,另一个frame就不能创建了,说是NAME(frame)已经存在。我不是很理解FRAME,难道一个frame只能用一次的吗?fmeTDetail: TfmeTotalDetail;
fmeMoTDetail: TfmeTotalDetail;procedure TfrmExpertMain2.InitTDetailDBGrid(DBGrid: TDBGridEh);
begin
if fmeTDetail = nil then
begin
fmeTDetail := TfmeTotalDetail.Create(Application);
fmeTDetail.Parent := tbshtMMSDetail;
fmeTDetail.Align := alClient;
end;
fmeTDetail.dbgrdTotalDetail.Columns := DBGrid.Columns;
end;procedure TfrmExpertMain2.InitMoTDetailDBGrid(DBGrid: TDBGridEh);
begin
if fmeMoTDetail = nil then
begin
fmeMoTDetail := TfmeTotalDetail.Create(Application);
fmeMoTDetail.Parent := Self.tbshtMoDetail;
fmeMoTDetail.Align := alClient;
end;
fmeMoTDetail.dbgrdTotalDetail.Columns := DBGrid.Columns;
end;
fmeMoTDetail: TfmeTotalDetail;procedure TfrmExpertMain2.InitTDetailDBGrid(DBGrid: TDBGridEh);
begin
if fmeTDetail = nil then
begin
fmeTDetail := TfmeTotalDetail.Create(Application);
fmeTDetail.Parent := tbshtMMSDetail;
fmeTDetail.Align := alClient;
end;
fmeTDetail.dbgrdTotalDetail.Columns := DBGrid.Columns;
end;procedure TfrmExpertMain2.InitMoTDetailDBGrid(DBGrid: TDBGridEh);
begin
if fmeMoTDetail = nil then
begin
fmeMoTDetail := TfmeTotalDetail.Create(Application);
fmeMoTDetail.Parent := Self.tbshtMoDetail;
fmeMoTDetail.Align := alClient;
end;
fmeMoTDetail.dbgrdTotalDetail.Columns := DBGrid.Columns;
end;
if not assigned(fmeMoTDetail) then
另外一处也如此换
其次在创建的时候要给它命名,即设置name属性,否则它的name属性均为fmeTotalDetail,即不能创建第二个。