我试过了,把VCL库中的Forms.pas改名为Formsbak.pas并不影响delphi中继承自TForm类的窗体的生成,TFrame类也在Forms.pas中,一样,没有Forms.pas也能直接生成TFrame的继承类。但从new->forms页里选择 Tabbed pages,选择下面的radio按键为inherit建立一个继承自TPagesDlg的类,如果我删去TPagesDlg所在文件TABPGDLG.pas,建立时便会产生错误:'unable to find both form and source file'.所以我在这里提出这个问题:能否自己写一个继承自TForm和TFrame的控件,如同TForm和TFrame一样,脱离.pas文件,供用户继承?其实这之前我在论坛里提了一个问题,就是如何将自己做的form屏蔽源代码提供给用户?用户可以从该form继承,但是不能看到源代码。对frame我要做同样的工作,也是自己写了一个基类,会拿给用户继承,但是不希望提供给用户源代码。大家能否一起来想想办法?

解决方案 »

  1.   

    当然可以,你把控件打包后编译成bpl直接给你的用户不就行了?
      

  2.   

    ?????????????????????????????
    恕我才疏学浅,您说的都是理论上的东西,我现在不知道怎么具体操作,因为从TForm类继承而生成的我的TBaseForm不同于其他的控件,我该怎么注册我的这个控件,才能像使用TForm一样,可以在Files->new->Other弹出的New Items对话框的New页面里放置一个TBaseForm的图标,一点击ok 按钮,就自动生成继承自TBaseForm的子类(如名为:TBaseForm1),并显示在Delpi的Client区里一个TBaseForm1的窗口可供操作。谁能做一个实例,把详细操作过程和代码写在这里??????
    ?????????????????????????????
      

  3.   

    哦,你是说要注册到模板库中……我没有做过这个,但是建议你到深度历险之类的网站下载几个关于Tools API的例子,也叫作向导、精灵什么的。做到这一点应该不会太难,但有些东西还是要注意。比如你的运行时的库应该和设计时的库分开以减小EXE文件大小,提高运行效率等等……
      

  4.   

    ?????????????????????????????????????????
    你说的深度历险里有一个CCPACK5,但是只用于delphi5,我看了源码,没能搞懂,很多函数找不到定义或引用的出处。我想我要做的这件事肯定能做成功的,但是要拜托大家一起来研究。
    ?????????????????????????????????????????
      

  5.   

    主要是因为ccpack5调用了很多设计期用的接口函数,这些函数并没有公开源码,但是只要你知道如何调用这些接口就可以了,在delphi67很可能是一些单元改名了,我记得其中dsgnintf就改名为designintf,这个单元声明了大部分的设计期api接口。
      

  6.   

    pclogic(半边伞) :你根本就没有仔细看清我的问题!!!
      

  7.   

    郁闷,谁能写个DELPHI PROJECT,要求1个FORM,可以做成DDZ里的那个SKIN3的界面,当然不是用IMAGE,然后将FORM设为无边框的那种。当然要求那个按钮能动感点啦!~,就是直接在FORM上画上去,标题栏当然是要画的反正就是和MY SKIN SDK差不多的啦哪位高手对此有研究,当然,要求是98/2000/XP 下都测试通过的