高手请进,如何实现这个功能?**************

jiayf020978 2003-10-15 11:05:25
例如,对于打开窗口的命令show,如果是“show”字符是要执行的命令,把“show”付给一个变量,通过什么方法实现对变量的操作,实现show命令。
谢谢!
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiayf020978 2003-10-20
  • 打赏
  • 举报
回复
铁心刘 你好,你的方法我试过了,但是总是提示错误!我写的代码如下:
type
TmyForm = class of TF_test;
TF_test = class(TForm); //要调用的窗口
Tmsmq_accept = class(TForm) //当前窗口

在当前窗口的Button事件中的代码如下:
var
ss:TForm;
begin
ss := Tmyform(getclass(‘TF_test’)).create(nil); //执行到这里出错
ss.show;
end;

在打开窗口的createform事件中代码如下:
RegisterClasses([TF_test]); //这一句是做什么用的?

如果我要在Button中根据参数,即窗口的名字来动态的实现打开不同的窗口,那getclass()怎么使用,getclass的参数是一个常量,不是一个变量。

谢谢!
tiexinliu 2003-10-15
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2348/2348755.xml?temp=.6515924

把所有的窗体都写成了这形势:
TmyForm = class of TformN;
TFormN = class(TForm)

然后在腰调用的窗体里面的Create加上
RegisterClasses([TFormN]);

然后
var a:Tform;
begin
a := Tmyform(GetClass('TFormN')).Create(nil);
a.Show;
end;

jiayf020978 2003-10-15
  • 打赏
  • 举报
回复
那如果传递的参数是一个string类型的窗口名称,只能是string类型,例如“W_main”,如果要动态创建窗口的话,如何实现?
谢谢!
tiexinliu 2003-10-15
  • 打赏
  • 举报
回复
除了case,if一个个判断,没有好的办法了,你是想写delphi编译器?
sailer_shi 2003-10-15
  • 打赏
  • 举报
回复
用Case去判断呀

5,379

社区成员

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

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