加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi TFrame创建/销毁

发布时间:2020-12-15 09:41:46 所属栏目:大数据 来源:网络整理
导读:如何创建(当我想要显示它)并在主TForm上销毁(当我想隐藏它时)帧?
如何创建(当我想要显示它)并在主TForm上销毁(当我想隐藏它时)帧?帧’align = alClient.

我试过这个:

表格:

unit main;

interface

uses
  Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,uFrame1,uFrame2;

type
  TFormMain = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    f1: TFrame1;
    f2: TFrame2;
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  f1 := TFrame1.Create(Self);
  f1.Parent := Self;
end;

end.

第一帧:

unit uFrame1;

interface

uses
  Windows,StdCtrls;

type
  TFrame1 = class(TFrame)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

uses main,uFrame2;

procedure TFrame1.btn1Click(Sender: TObject);
begin
  Self.Free;
  FormMain.f2 := TFrame2.Create(FormMain);
  FormMain.f2.Parent := FormMain;
end;

end.

第二帧:

unit uFrame2;

interface

uses
  Windows,StdCtrls;

type
  TFrame2 = class(TFrame)
    lbl1: TLabel;
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

uses main,uFrame1;

procedure TFrame2.btn1Click(Sender: TObject);
begin
  Self.Free;
  FormMain.f1 := TFrame1.Create(FormMain);
  FormMain.f1.Parent := FormMain;
end;

end.

但是当我单击FrameStart或Frame1上的按钮时,它会与访问vialataions崩溃(TForm FormCreate工作正常,即它创建并显示FrameStart).

德尔福7.

解决方法

您无法在这些事件处理程序中调用Self.Free.当事件处理程序返回时,下一个执行的VCL代码仍然使用对刚刚释放的对象的引用.这就是访问违规的来源.如果您在完全调试模式下使用FastMM运行,那么您将看到一条有用的诊断消息.

这些帧必须以更迂回的方式自杀.将CM_RELEASE消息发布到帧,要求它在帧上调用Free.您发布消息而不是发送消息,以便首先处理所有正在进行的消息.您需要向帧添加消息处理程序以响应消息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读