编辑正文以获取更多详细信息。
我有一个名为 ENP 的表单,在 EnpView 单元中定义。ENP 表单是通过单击主表单 (TPrincipal) 中的工具栏项的处理程序事件创建和显示的。
procedure TPrincipal.ENP1Click(Sender: TObject);
begin
TENP.Create(self).Show();
end;
Enp 表单知道(在公共声明中)clearGrid() 消息。
ENP 表单有一个名为 StringGrid 的 TStringGrid。还有一个名为“添加”的按钮。单击“添加”按钮时,会创建并显示其他表单:AddEnp 表单,在 EnpViewAdd 单元中定义。
procedure TENP.opAgregarClick(Sender: TObject);
begin
TAddEnp.Create(self).Show();
end;
AddEnp 表单,有任何 TEdits。输入的值必须添加到 EnpView.StringGrid 中。
我试试这个:
implementation
uses
EnpView, Main;
procedure TAddEnp.AgregarClick(Sender: TObject);
begin
{ Agrego el nodo xml }
Globals.Xml.agregarMuestra(muestra.Text);
Globals.Xml.insertEnp(muestra.Text,golpes.Text,metros.Text);
{ Send messages to EnpView Form }
ENP.clearGrid();
ENP.populateGrid();
end;
ClearGrid 消息在第 1 行失败,访问冲突:
procedure TENP.clearGrid();
begin
Self.StringGrid.RowCount := 2;
Self.StringGrid.Rows[1].Clear();
end;
如果在类中发送,则 clearGrid 方法有效。有任何想法吗 ?。