关于自定义Form类如何屏蔽源代码的问题.(Up有分!) (100分)

B

BlueWin

Unregistered / Unconfirmed
GUEST, unregistred user!
我作了一个form类,用RegisterCustomModule(TNewForm,TCustomModule);
注册了.
也把Form添加到Object Repository (对象仓库)中了.
也把这个窗体添加到一个设计时包中。
现在我在新项目中通过继承(但也选择Copy和Use)TNewForm添加了一个Form,叫Form1.
可是我发现项目中也增加了原来的TNewForm!
请问
1.我怎样作可以让别人只能通过Inherit来添加TNewForm.
2.我怎样可以不让别人看到的我TNewForm的源代码.当然也不用添加到项目中.
 
删除.pas,保留.dcu
 
不行,删除之后
第一点没解决
第二点:根本不能用。
 
好像不行吧
 
真的没办法吗?
 
做成组件,打成包bpl,然后安装在面板上!!!这样别人就看不到你的源程序了……
 
可以吗?
那Form根本不能放在面板上吧。
春意:你能不能把具体过程讲讲?
 
我才提了5个问题,如果这个问题没有答案的话,那就有3个问题没有答案了。
怎么DFW们都对我的问题不感兴趣啊?
 
怎么没人回答啊?
那就请各位帮忙Up一下吧.
Up有分!
 
没有做过,只能乱说了.
做成控件,但不注册到控件面板,然后在new窗体后,强制修改单元文件,改为从TNewForm继承
 
只要刪除PAS, 保留DCU就可以啦~~ 我也是這樣做的~~

在新建NEW Form時在自己的項目裡選擇你的TNewForm來繼承就可以啦~~
 
to alextsui:
你好;
我有点不明白的:
删除 .pas文件后,你的项目里怎么还有TNewForm?
请你说详细一点好吗?
 
不要意思, 如果你是放在Object Repository就一定需要PAS了
如果是自己構造的父類, 不要給人看到原代碼, 就不能放到Object Repository裡面了,
其他人想用, 只能COPY你的DCU和DFM檔案就可以了, 然後就建立一個New Form,
修改成為 TForm1=class(TNewForm), 然後在Form的設計窗口選擇 View as Text,
修改Object成為inherited, 最後儲存 View as Form就可以了~~
這樣所有Form都可以繼承你的TNewForm, 而源代碼又可以保護起來~~

我不會其他方法了, 希望能看到其他更好的方法, 期待~~
 
哦,这样子form的新增的事件和属性都不能出来了.
不知有没有更好的办法.
 
就这样结束了吧.
 
顶部