在delphi中从窗体刷新框架

在delphi中从窗体刷新框架,delphi,Delphi,我将一个框架添加到vcl表单,并将一个框架链接到该框架。在表单中,我调用框架中的函数来查看网格中的数据。该功能工作正常。网格没有显示任何变化。框架中还有另一个按钮,当我点击该按钮时,它将调用相同的函数。我该怎么做 此代码的格式为 procedure TMainF.RefrshFramebtnClick(Sender: TObject); var PatientHistoryFr: TPatientHistoryFr; begin PatientHistoryFr := TPatientHis

我将一个框架添加到vcl表单,并将一个框架链接到该框架。在表单中,我调用框架中的函数来查看网格中的数据。该功能工作正常。网格没有显示任何变化。框架中还有另一个按钮,当我点击该按钮时,它将调用相同的函数。我该怎么做

此代码的格式为

procedure TMainF.RefrshFramebtnClick(Sender: TObject);
var PatientHistoryFr: TPatientHistoryFr;
begin
  PatientHistoryFr := TPatientHistoryFr.Create(Application);
  PatientHistoryFr.RefreshGrid;
  PatientHistoryFr.Free; 
end;
此代码位于帧中(TPatientHistoryFr为帧)

不工作:

工作:


在同一过程中调用PatientThisToryFR的RefreshGrid后,您将立即释放PatientThisToryFR。如果它已被销毁,您希望它什么时候能显示任何内容?

在同一过程中调用其刷新网格后,您将立即释放PatientThisToryFR。如果它被销毁了,你希望它什么时候能显示出来?

如果我理解,你想要什么。 首先,这一行:

PatientHistoryFr := TPatientHistoryFr.Create(Self);
PatientHistoryFr.Parent := Self;
仅创建一个框架,但当框架没有父对象时,它不可见。 添加此行:

PatientHistoryFr := TPatientHistoryFr.Create(Self);
PatientHistoryFr.Parent := Self;
这将显示框架。然后打电话

PatientHistoryFr.RefreshGrid;

祝你好运:)

如果我明白了,你想要什么。 首先,这一行:

PatientHistoryFr := TPatientHistoryFr.Create(Self);
PatientHistoryFr.Parent := Self;
仅创建一个框架,但当框架没有父对象时,它不可见。 添加此行:

PatientHistoryFr := TPatientHistoryFr.Create(Self);
PatientHistoryFr.Parent := Self;
这将显示框架。然后打电话

PatientHistoryFr.RefreshGrid;
祝你好运:)

这很简单

FrameHistory.RefreshGrid;
就这些。FrameHistory是位于框架上的框架。谢谢大家。

这很简单

FrameHistory.RefreshGrid;

就这些。FrameHistory是位于框架上的框架。谢谢大家。

你们这里有多少帧?一个是网格所在的帧;第一个还是第二个?其上是刷新网格;第一个还是第二个?两个。第一个在不同的单元中。第二个显示第一帧。现在哪个是PatientThisToryFR?第一个还是第二个?在你通过评论回答我之前;编辑您的问题以反映这一点,这样每个人都会知道哪个是哪个。为什么要让框架归应用程序所有?框架应该由表单拥有。这样做
PatientHistoryFr:=TPatientHistoryFr.Create(Self)此外,一些网格组件已经有了自己的
RefreshGrid
方法。尝试使用其他名称。不管怎么说,这个太普通了。好的做法是使用名称来解释它的作用,而不是它如何作用。那么这里有多少帧?一个是网格所在的帧;第一个还是第二个?其上是刷新网格;第一个还是第二个?两个。第一个在不同的单元中。第二个显示第一帧。现在哪个是PatientThisToryFR?第一个还是第二个?在你通过评论回答我之前;编辑您的问题以反映这一点,这样每个人都会知道哪个是哪个。为什么要让框架归应用程序所有?框架应该由表单拥有。这样做
PatientHistoryFr:=TPatientHistoryFr.Create(Self)此外,一些网格组件已经有了自己的
RefreshGrid
方法。尝试使用其他名称。不管怎么说,这个太普通了。好的做法是使用名称来解释它的作用,而不是它如何作用。但还是不起作用。我把释放病人的电话线移走了。但仍然不起作用。感谢Aleksandr创建了另一个框架。否则,它的工作。我想刷新表单中的框架。感谢Aleksandr创建另一个框架。否则,它的工作。我想刷新表单中的框架。