父.dfm文件

时间:2016-02-24 15:56:00

标签: c++ c++builder tframe

使用BDS2006,C ++ Builder。

试图解释当前形势的长期前提,因为我发现很难描述我拥有的和我需要的东西:

我正在从事一个古老而复杂的大项目。 在项目委托的时候,它必须作为EXE和OCX分发。当时的选择是创建一个包含"每个"的TFrameMAIN。 (MainForm和" OCX"部分中几乎没有代码)。 由于主UI是由页面构建的,因此TFrameMain中的每个页面都有一个TFrame。

然后在一些次要的派生项目中重新使用这些框架。因此,Frames不能用于更改派生帧中的组件行为。事实上,在主应用程序中,出现两次的唯一框架很少"弹出类似"帧。

即使是现在,我需要非常谨慎,不要在派生框架中改变任何东西(我的意思是,我不能改变放置在某处的框架中的任何东西)但是我必须修改"原始& #34;框架并重新编译所有相关项目。

但是我有一个问题:无论我做什么,在父母" .dfm文件总是在那里"继承"值引用框架的内部组件,有时会阻止我在TFrame上做的更改出现在已编译的应用程序上(或者,有时甚至会导致运行时错误,因为我可能会在框架代码中指向对象"更改& #34;由父母"继承"值)。

例如,这是Mainform .dfm:

的一部分
        inherited barFTCvF: TBarSeries
          Data = {
            030600000000000000000014400000000000000000FFFFFF1F0000000000001C
            400000000000004940000000200000000000003B400000000000004E40000000
            2000000000008047400000000000005440000000200000000000C05040000000
            0000005940000000200000000000C05540000000000000594000000020}
        end

在此处声明TeeChart系列的值可防止我在"原始"中进行任何更改。框架将显示在构建的应用程序中,因为这些值会覆盖我的更改。

唯一的解决方案"我现在发现的是删除派生的帧,并将其替换为组件调色板(标准 - >帧 - >选择帧)。 这种不受欢迎的影响通过层次结构直到mainfom,所以我做删除 - 替换FrameMain中的修改帧,然后从MainForm中删除并替换FrameMain。

无论如何,似乎给我一个IDE错误.....有任何方法可以避免这种情况继承"继承"在DFM文件中(不转换包组件中的每个帧)?

并且:因为我不想改变框架的内部行为/从他们放弃的位置看,我问是否还有一种方法可以使用#34;块"这种可能性。

0 个答案:

没有答案