即将发布的kbmMW,实现了SmartBinding,SmartBinding的设计目标是:

    • 必须易于使用
    • 必须最小化或完全删除锅炉板代码。
      (你看到这里的趋势了吗?... kbmMW从那时开始就是为了让事情变得简单!)
    • 必须有良好的表现
    • 必须具有较低的CPU,内存和大小
    • 绝不能导致无休止的圆形赛事列车
    • 应该使用各种数据和控件
    • 应该是灵活和可扩展的
    • 必须接近实时
    • 必须易于重构
    • 应该与kbmMW的其他功能很好地配合
    • 即使不使用kbmMW的其他功能也应该可用

看一个简单的属性绑定:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  SmartBinding与kbmMW#1 随笔

 

     Binding.Bind(Edit1,'Text',Label1,'Caption');
     Binding.Bind(Edit1,'Text',Button1,'Caption');
     Binding.Bind(Edit1,'Text',Edit2,'Text',[mwboTwoWay]);

上面代码,实现了在Edit1(TEdit)中输入内容并将其反映在Edit2(TEdit),Button1和Label1中,在Edit2中输入内容并将其反映在Edit1中。

Binding实例来自哪里?他是kbmMW SmartBinding默认带的一个实例,可以立即使用。代码的最后一行还包括一个可选标志,表示绑定是两种方式,更改一方也会自动更新另一方。

基本上所有字符串布尔值浮点int64整数属性都可以通过自动转换轻松绑定,其中SmartBinding确保根据需要自动在不同类型之间转换数据。其他类型的数据也可以绑定,但源和目标属性必须是相同的类型(也有方法也可以...见后面)。

线程安全方面是什么情况呢?kbmMW SmartBinding自动识别从TControl类的继承的组件,它必须在主应用程序线程进行更新才保证应用程序稳定运行。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄