【发布时间】:2012-01-22 09:21:54
【问题描述】:
我有一个 Form 类,用于生成多个表单对象。我重命名每个生成的表单。
我不知道如何在不影响其他生成的表单组件的情况下访问指定的表单组件。
我已经使用了这段代码,但最后创建的表单的组件总是受到影响:
procedure TmainForm.OFBloqueButtonClick(Sender: TObject);
begin
if (mainForm.tabSheetBool = True) AND (mainForm.OFID <> '') then begin
if OF_bloque = False then begin
Application.CreateForm(TOFOperationsForm, OFOperationsForm);
OFOperationsForm.Caption := 'Bloquer OF';
OFOperationsForm.Name := 'OFBloqueForm';
OF_bloque := True;
end;
OFOperationsForm.BringToFront;
OFOperationsForm.ADOOF.SQL.Text := 'SELECT * FROM OFTab WHERE ID=''' + OFID + '''';
OFOperationsForm.ADOOF.Open;
end;
end;
我的目标是操纵所需表单的指定 ADOQuery。
谢谢。
【问题讨论】:
-
没有必要设置新表单的 Name 属性,如果您的代码稍后不依赖它,那么也可以从这里的代码示例中删除。
-
我命名了表单以通过它的名称来调用它。
-
TLama 我猜 OF_bloque 会阻止创建第二个表单。不过不确定。
-
问题标题是“按表单名称操作表单组件” - 您的代码在哪里/如何使用表单名称?这未显示。
-
其他方法确实使用 FindComponent(使用表单名称),而不是表单变量?抱歉,该问题没有提供有关主要问题的足够信息。