点击不同按钮打开不同的Frame的问题

baiyun1102 2012-06-07 10:43:59
我有很多个按钮 点击不同的按钮将打开不同的Frame 现在想写一个公共函数 但是总是报错

//
procedure TFrmMain.PanelShowFrame(ShowFrame:TFrame);
var
MyFrame:TFrame;
begin
MyFrame:=ShowFrame.Create(Application);
MyFrame.Parent:=RightPanel;
MyFrame.Left:=0;
MyFrame.Top:=0;
MyFrame.Show;
end;

报错信息
[Error] Main.pas(48): Incompatible types: 'TFrame' and 'Class reference'

如果将函数改成
procedure TFrmMain.PanelShowFrame(ShowFrame:TFrameClass);
就会报 [Error] Main.pas(25): Undeclared identifier: 'TFrameClass'

望高手解决
...全文
120 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jayqiang 2012-06-11
  • 打赏
  • 举报
回复

Type
//先定义
TFrameClass=class of TFrame

//定义后才可以使用
//没定义就使用肯定会报Undeclared identifier: 'TFrameClass'啊!
procedure TFrmMain.PanelShowFrame(ShowFrame:TFrameClass);
var
MyFrame:TFrame;
begin
MyFrame:=ShowFrame.Create(Application);
MyFrame.Parent:=RightPanel;
MyFrame.Left:=0;
MyFrame.Top:=0;
MyFrame.Show;
end;

Oraclers 2012-06-07
  • 打赏
  • 举报
回复
MyFrame:=ShowFrame.Create(Application);
改成:
MyFrame:=TShowFrame.Create(Application);

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧