Devexpress VCL-Grid Excel过滤模式

问题描述 投票:-1回答:2

将Devexpress VCL从18.2.5升级到19.1.2后,为了使用最新功能,尤其是新的表格Excel过滤模式,但不幸的是,编译器无法识别某些常量和属性,例如dxDefaultFilterPopupWindowMode常量和DBGridViews的.Filtering.ColumnPopupMode属性。尽管将dxFilterPopupWindow放在了uses子句中。

有帮助吗?

delphi devexpress vcl
2个回答
0
投票

最后,发生此错误的原因是,我在Delphi库路径中保留了先前版本的路径,而该路径在新版本的路径之前。因此,我删除了第一个,并保留了新的。等等,现在一切正常:):):)


0
投票

今天,我从18.1.2版升级到了DevExpress VCL库的最新版本,它是2020年1月22日的19.2.4版本,并改编了现有的最小cxGrid项目以使用新的Excel样式过滤。它编译并执行没有任何错误。

这是我所做的:

1我现有的Devex安装文件夹(您告诉安装程序使用的文件夹是D:\DevExpress VCL

2我将D:\DevExpress VCL重命名为D:\DevExpress VCL Prev

3我运行19.2.4安装程序,将D:\DevExpress VCL作为要使用的安装文件夹。

[您提到编译器抱怨标识符dxDefaultFilterPopupWindowModeColumnPopupMode。您说“尽管将dxFilterPopupWindow放入了uses子句。

dxDefaultFilterPopupWindowMode在dxFilterPopUpWindow.Pas的第50行声明

const
  dxDefaultFilterPopupWindowMode: TdxFilterPopupWindowMode = fpmClassic;

ColumnPopupMode在cxGridTableView.Pas的3361行中声明:

TcxGridTableFiltering = class(TcxCustomGridTableFiltering)
[...]
published
[...]
  property ColumnPopupMode: TdxFilterPopupWindowMode read GetColumnPopupMode write SetColumnPopupMode default fpmDefault;
end;

我强烈建议您按照上述方法安装版本19.2.4,然后检查您的项目的搜索路径包括Devex源的路径。当然,如果您遵循我描述的方法,则项目搜索路径无需更改(如果它是先前编译的)。

如果编译器仍然抱怨无法找到dxDefaultFilterPopupWindowModeColumnPopupMode,那么假设您是not编译项目以使用运行时程序包,这是我能想到的唯一可能的原因是编译器正在查找dxFilterPopUpWindow.Dcu和cxGridTableView.Dcu的早期版本,即以某种方式比相应的.PAS文件具有更高的日期戳-在这种情况下,我将删除所有实例从我的系统中提取Devex Dcu,然后重试。确保编译器正在编译您认为是的Devex源文件的版本,因此编辑cxGridTableView.Pas以添加“编译器停止器”例如文件最上方的感叹号:如果编译器没有对此抱怨尝试编译您的项目时,您会知道正在使用其他版本的cxGridTableView .Pas文件或.Dcu。

© www.soinside.com 2019 - 2024. All rights reserved.