我在开发中因常用到事务处理的组件自己定制了一个.但登记特性编辑器时碰到了麻烦.
C++Builder 的REGISTERPROPERTYEDITOR 函数好象只支持VCL 类的登记,对于普通类型
这是在C++Builder 中的贴子的内容,我把它贴过来,哪位解答,我会给分的.
如int\char\float\AnsiString\Set\Variant\Enum\等无法登记,因为__typeinfo()仅能用于VCL 类,我查了VCL库中的登记,用的是DELPHI Objectpascal语法,它是用TypeInfo函数取得String类的信息的,但BCB不支持TypeInfo,只有__typeinfo,又不能用于普通类型.
另外,我试了直接给Typinfo::PTypeInfo赋值,但登记后没有效果,BCB中是否不支持变通类型特性编辑器的登记,不知DELPHI中自行登记时行否,我没有装DELPHI所以不能试,哪位高手愿相助?(登记组件编辑器是可以完成对普通特性的编辑的,但我是想弄明白这个问题,所以请不要告诉我替代的方法) 

解决方案 »

  1.   


    我在Delphi源码中找到下面一条语句   
    RegisterPropertyEditor(TypeInfo(SmallInt), TOleControl, 'Cursor', TCursorProperty);在C++ Builder中有如下语句
    RegisterPropertyEditor(TypeInfo(TDate), nil, '', TDateProperty);两者的语法并没有什么不同,看来第一条语句用在c++ builder中应该是合法的。
      

  2.   

      对不起,上面的第二条语句是在一个.pas文件中,但用__typeinfo来代替TypeInfo不知有没有问题。