• FMX的Style中的Effects的注意问题


    delphi中,当我们在IDE的窗体中添加控件时,会自动把相关单元加入uses的,所以一般不用考虑这个问题。

    但是,如果你在设计Style时,在Style里用了Effects(不是自带控件Style里的effects),程序运行时,会出现找不到你所修改的effect类的致命错误。这是因为uses缺少了

    FMX.Effects 和  FMX.Filter.Effects 这两个单元,但是delphi自带控件的Style里如果用了effect却默认不用uses这两个单元!!!

    比如TCornerButton,其Style里自带了一个Effect,你如果改变这个effect类,如果不uses FMX.Effects 和  FMX.Filter.Effects 这两个单元, 则会出现找不到你所改变的effect类的错误。

    弄了半天,偶然发现的,运行不行的时候,就直接在窗体添加了同样的effect,运行下,当然没问题。把窗体中的effect删了,再运行,刚才修改了style里的effect控件可以了。这时还是没有发现是没引用这两个单元的问题,也没想到去看窗体单元的代码,直接新建一个工程,再弄个一样的修改effect的控件,又不行了!!!!

    这下纠结啊,把2个工程放在一个工程组里,然后把StyleBook和控件互相复制粘贴,不行的工程还是不行,行的工程还是行,这下肯定是窗体及其单元文件出问题了,比较两个窗体的TEXT,没发现问题,纠结啊纠结(傻啊)。转回FORM比较2个窗体,才发现那个能运行的有FMX.Effects 和  FMX.Filter.Effects 这两个单元,把这两个单元添加到出错的工程里的窗体uses,OK,唉,啊。。。。

    赶紧记下来。。。


  • 相关阅读:
    Seaslog高性能日志系统学习
    同步、异步与阻塞、非阻塞、协程
    SQL常用增删改查语句
    js里的document对象大全(DOM操作)
    php的cURL资源的初步使用
    hive学习笔记(初级)
    使用NSIS制作可执行程序的安装包
    C#设置一个控件可以鼠标拖动
    C#画图超出屏幕的部分无法显示的解决方法
    C#获取当前不同网卡对应的iP
  • 原文地址:https://www.cnblogs.com/jankerxp/p/7774025.html
Copyright © 2020-2023  润新知