小弟在写应用程序时,想使用Application完成一些操作,但小弟发现Application提供的现有的属性、事件和方法不能满足我的需要,于是重载了TApplication类,重载后增加了我所需要的功能,但问题来了:我不知道重载后的这个类应该怎样使用。
    原因是在工程文件中有以下三行常见的代码:
    Application.Initialize;
    Application.CreateForm(TMainForm, MainForm);
    Application.Run;
    我用我的类实例替换了述行中的Application以为可以成功,但运行系统出错!
    我重载后的类没有问题。请问:
    1]TApplication类能否重载?
    2]如果能,那么重载后怎样使用呢?
    3]用重载后的类实例替换Application运行为什么会出错?
    4]请高手给出解决扩展Application的方法,小弟在Forms单元中直接改写TApplication类然后运行时可以解决的,但小弟想通过类的继承机制来实现,所以请给出解决的方法。                                                     谢谢各位老大
                                                     小弟拜血泣求
                                                     一定给分,决不失言

解决方案 »

  1.   

    最好不要重载TApplication,用其他类完成。
    Application是系统变量,一开始就被初始化了。
    Delphi的语法没有限制继承的概念,在.net中,Application这个类就被定义为sealed,无法继承。
      

  2.   

    那也就是说只能直接改写Forms单元中的代码了?是吗?
      

  3.   

    TApplication类可以重载,但是Application对象是系统的一个全局唯一性对象,不可能修改!系统只任这个理:Application:TApplicatin;
      

  4.   

    好像不能改APPLICATION类
    不知你要做些什么东西。。也许有别的方法。。
      

  5.   

    TApplcation就是应用程序的真正主窗体!