我正在使用Delphi Berlin 10.1
当我创建TFDQuery时,似乎无法使用Findcomponent在我的代码中访问它。
创作
procedure TDataModule1.QuVerConAfterOpen(DataSet: TDataSet);
begin
QuVerCon.First;
while not QuVerCon.Eof do
begin
if QuVerCon.FieldByName('Table').AsString <> 'versioncontrol' then
begin
TFDQuery.Create(self).Name := 'Qu' + QuVerCon.FieldByName('Table').AsString;
with TFDQuery(FindComponent('Qu' + QuVerCon.FieldByName('Table').AsString)) do
begin
Connection := SqlConn;
Open('select * From ' + QuVerCon.FieldByName('Table').AsString);
end;
end;
QuVerCon.Next;
end;
FMMain.Filter1.FormatScrn(FMMain.Filter1);
end;
断开连接
procedure TDataModule1.SqlConnBeforeDisconnect(Sender: TObject);
var
Tbl: TFDQuery;
begin
with QuVerCon do
begin
First;
if FieldByName('Table').AsString <> 'versioncontrol' then
begin
Tbl := TFDQuery(FindComponent('Qu' + FieldByName('Table').AsString));
if Assigned(Tbl) then
TFDQuery(FindComponent('Qu' + FieldByName('Table').AsString)).Free;
end;
Next;
end;
QuVerCon.Close;
end;
代码跳过&#34;如果已分配(Tbl)则&#34;因为它无法找到它 我哪里错了?
是一种显示带有数据模块组件列表的消息框的方法,以便我可以检查何时消失?