问题描述:
1 程序运行时,生成窗体CXGRID语法,类似DFM文件那样2 根据生成的语法(类似DFM文件),动态创建CXGRID按照DELPHI帮助中动态窗体的方法(stringtocomponent, componenttostring)测试,出现错误,发现就CXGRID不行,其他的BUTTON等控件都可以,有哪位兄弟可以帮忙!非常感谢!

解决方案 »

  1.   

    cxGrid是第三方控件,如果某些方法没有实现,可能不能完全持久化为字符串的(文本文件)
      

  2.   

    CXGRID动态生成?
    静态使用就够复杂了。
      

  3.   

    回复楼上的各位,都注册类了;仔细推敲发现问题原因但还没有解决:tcxcomponent,tcxgriddbtableview, tcxgriddbcolumn等类注册后,不能动态创建实例对象,其他类都可以,代码如下:
    registerclass(tcxcomponent);
    registerclass(tcxgriddbtableview);
    registerclass(tcxgriddbcolumn);tcomponentclass(findclass('tcxcomponent')).create(nil); //此行代码出错误,执行不了,
    tcomponentclass(findclass('tcxgriddbtableview')).create(nil); //此行代码出错误,执行不了,
    我想解决上面两行代码,问题就解决了;补充,不知道怎么回事tcxgrid类又可以,例如代码:
    registerclass(tcxgrid);tcomponentclass(findclass('tcxgrid')).create(nil); 请兄弟们帮忙研究研究,谢谢!
      

  4.   

    谢谢 nshm(无敌。)( 。疯帅) 
      

  5.   

    nshm(无敌。)( 。疯帅)  快出来,快告诉我有什么突破没
      

  6.   


      registerclass(TcxGrid);
      registerclass(TcxGridDBTableView);
      registerclass(TcxGridLevel);
      

  7.   

    发了私信,里面有DEMO载址,希望是你想的要效果
      

  8.   

    谢谢 dinoalex ,那个DEMO下载试了,可以,但那个GRIDVIEW中没有DBCOLUMN字段列,加上字段列的话还是不行,搞不清楚是哪里出了问题!
      

  9.   

     
    dinoalex都注册了,不行啊。另外在调试时发现一个问题,不知道算不算是DELPHI的BUG,执行FINDCLASS如果出现一次错误,引发异常后,不管你怎么调试,FINDCLASS任何一个类,都会出错,可能是运行时CLASS常驻内存了,导致退出整个程序重新运行都会出错;最终只能彻底删除源码文件,重新写,重新编译。有哪位兄弟可以解释一下吗?
      

  10.   

    动态创建GRIDVIEW,GridCOLUMN的问题还是没有解决,继续讨论,关注。
      

  11.   

    谢谢dinoalex,基本上解决,对于这个问题,我也来总结一下,发现
    1 如果findclass出现1次错误引发异常后,任何一处调用findclass,不管你对错,都会引起异常。2 通过DFM语法动态创建含cxgriddbcolumn的窗口时,调用窗口或者(DFM语法中的FORM,如object form2: tform2)在设计期必须有1个cxgriddbcolumn对象,这好象也是一个比较特殊的情况,具体理由我也无法解释感谢CSDN,感谢各位!
      

  12.   

    还有就是带事件的话不能响应,有兴趣的咱们可以继续研究一下,dinoalex是否可以发表一下意见!
      

  13.   

    还有就是带事件的话不能响应,有兴趣的咱们可以继续研究一下,dinoalex是否可以发表一下意见!
      

  14.   

    你没有点过新生成的BUTTON吗? 它不是有事件吗? 再点也会建吖.