自己封装了一个vcl控件,在程序运行的时候需要在控件显示一些数据,这些数据是从本地的ini中读取的,ini文件的名字是通过property属性定义的。允许用户在程序中自定义其中的一些属性。两个问题:
1。我是重载了控件的Loaded,但是在设计的时候也会触发Loaded事件,因为程序中写的是相对路径,就会提示ini文件找不到,然后窗体就打不开了。我的问题是怎么样能够在运行的时候读控件的配置信息,并且不影响窗体的编辑
2。当程序退出时,希望能够保存控件的当前属性,所以重载了destroy事件,但是发现在destroy中,控件的许多属性已经读不到了。我的问题是怎样在控件释放的时候保存配置信息

解决方案 »

  1.   

    1.判断csDesigning in ComponentState可以得知当前是否处于设计期;相反就知道是运行期。
    2.destroy事件里读不到许多属性?不太清楚,我没遇到过。能不能举个例子?
      

  2.   

    我有一个property属性,保存了当前的ini文件的路径,但是在destroy中得到的这个值总是空的,在destroy之前肯定是有值的
      

  3.   

    你的代码应该写在destroy方法的inherited之前。
      

  4.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=193530
    如何判断一个控件(TControl)是否是动态创建出来的?~~