CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

@@@@@@@@@@@@@@@@我有這樣一段代碼﹐不知道能不能按要求改改﹐高手請進﹖@@@@@@@@@@@@@@@@@@@@@

楼主popmailzjw(什麼都不會)2004-05-03 15:35:29 在 Delphi / VCL组件开发及应用 提问

原代碼如下﹕  
  unit   uAllForm;  
   
  interface  
   
  uses   windows,   forms,   classes,   sysutils,   dialogs;  
   
   
  procedure   ShowForm(FFormName:   string);  
  function   CreateForm(FFormName:   string):   TCustomForm;  
   
  implementation  
   
  uses   uUserVindicate,   uPublicFun,   uMain,   Uprovider,   uAbout,   uLogin;  
   
  function   CreateForm(FFormName:   string):   TCustomForm;  
  var  
      AFormClass:   TFormClass;  
  begin  
      result   :=   nil;  
      try  
          if   FFormName   =   ''   then   raise   Exception.Create('Need   Class   Name!');  
          AFormClass   :=   TFormClass(FindClass('T'   +   FFormName));  
          result   :=   AFormClass.Create(application);  
      except  
          on   E:   Exception   do  
              Msg1(E.Message)  
      else   raise;  
      end;  
   
  end;  
   
  procedure   ShowForm(FFormName:   string);  
  var  
      AFormClass:   TFormClass;  
  begin  
      try  
          if   FFormName   =   ''   then   raise   Exception.Create('Need   Class   Name!');  
          AFormClass   :=   TFormClass(FindClass('T'   +   FFormName));  
          with   AFormClass.Create(application)   do  
          begin  
              Lockwindowupdate(0);  
              showmodal;  
          end;  
      except  
          on   E:   Exception   do  
              Msg1(E.Message)  
      else   raise;  
      end;  
  end;  
  initialization  
      RegisterClass(tuserVindicateFrm);  
      RegisterClass(TproviderFrm);  
      RegisterClass(TfrmAbout);  
      RegisterClass(tLoginFrm);  
      RegisterClass(TmainFrm);  
  end.  
  不知道能不能改成這樣的  
   
  unit   uAllUserOperation;  
   
  interface  
   
  uses   windows,   forms,   classes,   sysutils,   dialogs;  
   
   
  procedure   ShowForm(FFormName:   string);  
  function   CreateForm(FFormName:   string):   TCustomForm;  
   
  implementation  
   
  uses   uUserVindicate,   uPublicFun,   uMain,   Uprovider,   uAbout,   uLogin;  
   
  function   CreateForm(FFormName:   string):   TCustomForm;  
  var  
      AFormClass:   TFormClass;  
  begin  
      result   :=   nil;  
      try  
          if   FFormName   =   ''   then   raise   Exception.Create('Need   Class   Name!');  
          AFormClass   :=   TFormClass(FindClass('T'   +   FFormName));  
          result   :=   AFormClass.Create(application);  
      except  
          on   E:   Exception   do  
              Msg1(E.Message)  
      else   raise;  
      end;  
   
  end;  
   
  procedure   ShowForm(FFormName:   string);  
  var  
      AFormClass:   TFormClass;  
  begin  
      try  
          if   FFormName   =   ''   then   raise   Exception.Create('Need   Class   Name!');  
          AFormClass   :=   TFormClass(FindClass('T'   +   FFormName));  
          with   AFormClass.Create(application)   do  
          begin  
              Lockwindowupdate(0);  
              showmodal;  
          end;  
      except  
          on   E:   Exception   do  
              Msg1(E.Message)  
      else   raise;  
      end;  
  end;  
   
   
  //initialization  
  //     RegisterClass(tuserVindicateFrm);  
  //     RegisterClass(TproviderFrm);  
  //     RegisterClass(TfrmAbout);  
  //     RegisterClass(tLoginFrm);  
  //     RegisterClass(TmainFrm);  
  end.  
   
  就是去掉所有的RegisterClass,這樣程序做起來就方便好多了﹐行嗎﹖  
  在線等待@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 问题点数:100、回复次数:7Top

1 楼zousoft(菜菜鸟的战斗诗歌)回复于 2004-05-03 16:51:21 得分 10

行不行你运行一下就知道了.    
   
  //     RegisterClass(tuserVindicateFrm);  
  //     RegisterClass(TproviderFrm);  
  //     RegisterClass(TfrmAbout);  
  //     RegisterClass(tLoginFrm);  
  //     RegisterClass(TmainFrm);  
   
  都是注册一些窗体类,   不知道你要干什么.   如果要动态创建窗体,   不用这样.Top

2 楼popmailzjw(什麼都不會)回复于 2004-05-03 16:56:35 得分 0

To:   zousoft(菜菜鸟的战斗诗歌)   (   )  
   
  如果這樣也可以的話我就不會來問了﹐是動態建立窗體﹐但你要看到是傳字符串(窗體名)建立的﹐如果傳窗體類當然不用這樣做。你用過傳字符串(窗體名)的嗎﹐能不能給個例子!!Top

3 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-05-03 17:57:36 得分 10

>>就是去掉所有的RegisterClass,這樣程序做起來就方便好多了﹐行嗎﹖  
  以你的代碼,   不行!!Top

4 楼popmailzjw(什麼都不會)回复于 2004-05-04 08:37:46 得分 0

TO:aiirii(ari-爱的眼睛)  
   
  那要怎么做才行?  
  Top

5 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-05-04 09:02:12 得分 40

我說不行啊,   就是說,   還是要用原來的   RegisterClass   方法,   要不然,   改動比較大Top

6 楼fim(阿初)回复于 2004-05-04 09:40:58 得分 40

应该不可以的,楼主还是老实一点吧。Top

7 楼popmailzjw(什麼都不會)回复于 2004-05-04 10:29:24 得分 0

我只是覺得我加一個窗體時既要uses還要Register要是能只在這個單元uses一下就可以了就好了  
   
  我想問一下大家在做團隊開發時組裝時是怎么做的Top

相关问题

  • 在线#############我这样分页为什么不能按我要求显示图片呢?
  • 急!请看我这段布局html代码,为何不能按照意愿显示?
  • 这样写代码,为什么不能按我设定的大小显示窗体?
  • 为什么不能按顺序执行!!!!!
  • win2000server上安装oracle816nt,不能按?
  • SELECT ... GROUP BY ... 真不能按记录数分组?
  • 为什么不能按回车键不能跳到下一列
  • 帮帮忙!!!!!不能按Ctrl+Alt+Delete ,是为什么?
  • 我的2000系统不能按web查看了
  • 显卡不能按照我的预想设置,怎么办?

关键词

  • fformname
  • aformclass
  • tformclass
  • 代碼
  • raise
  • exception
  • create
  • begin

得分解答快速导航

  • 帖主:popmailzjw
  • zousoft
  • aiirii
  • aiirii
  • fim

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo