var
Info : TForm;
Info是全局的。
procedure TTImg.FormCreate(Sender: TObject);
begin
Info := TInfoDlg.Create(nil);
end;然后在procedure TTImg.DBGrid1CellClick(Column: TColumn);
begin
//with TInfoDlg.Create(self) do
with Info do
begin
if DBGrid1.DataSource.DataSet.RecordCount > 0 then
begin
EditImgId.Text := DBGrid1.DataSource.DataSet.FieldByName('FilNam').AsString;
end;
ShowModal;
end;
end;报 EditImgIdw未定义。。这个EditImgId是在TInfoDlg这个窗体上的控件。
请教为什么找不到。
Info : TForm;
Info是全局的。
procedure TTImg.FormCreate(Sender: TObject);
begin
Info := TInfoDlg.Create(nil);
end;然后在procedure TTImg.DBGrid1CellClick(Column: TColumn);
begin
//with TInfoDlg.Create(self) do
with Info do
begin
if DBGrid1.DataSource.DataSet.RecordCount > 0 then
begin
EditImgId.Text := DBGrid1.DataSource.DataSet.FieldByName('FilNam').AsString;
end;
ShowModal;
end;
end;报 EditImgIdw未定义。。这个EditImgId是在TInfoDlg这个窗体上的控件。
请教为什么找不到。
放到全局变量里
Info : TForm;
Info是全局的。
procedure TTImg.FormCreate(Sender: TObject);
begin
Info := TInfoDlg.Create(nil);
end;然后在procedure TTImg.DBGrid1CellClick(Column: TColumn);
begin
//with TInfoDlg.Create(self) do
with Info do
begin
if DBGrid1.DataSource.DataSet.RecordCount > 0 then
begin
EditImgId.Text := DBGrid1.DataSource.DataSet.FieldByName('FilNam').AsString;
end;
ShowModal;
end;
end;
这段代码没有问题
EditImgIdw和EditImgId不同
搜索EditImgIdw看看
with (Info as TInfoDlg) do
begin
if DBGrid1.DataSource.DataSet.RecordCount > 0 then
begin
EditImgId.Text := DBGrid1.DataSource.DataSet.FieldByName('FilNam').AsString;
end;
ShowModal;
end;
试试
父类调用子类的成员造成的问题啦