加载表单时出错

Pri*_*Jea 3 delphi delphi-7

我是一名.Net程序员,我正在调试一个Delphi应用程序,随着我的进展,我遇到了以下错误:

错误信息

你能解释一下这个错误是什么,以及我如何解决它?

我是使用Delphi的新手.

小智 13

错误说明

呈现给您的错误告诉您该表单上的组件未在IDE中注册,在本例中为来自AlphaControls库的TsStatusBar:http://www.alphaskins.com/

在表格上放置TsStatusBar的某个时刻,表格将被保存.将任何组件添加到表单上时,它们会在表单源文件(*.pas)和表单dfm中留下对组件的引用.这就是您收到此错误的原因,因为无法找到该组件,但仍然保留链接到它的引用.

选项1 - 安装AlphaControls包

最好的选择是安装缺少的组件,这将解决您的问题中显示的错误问题.

选项2 - 转换项目

AlphaControls提供了一个工具,用于将项目从标准VCL转换为AlphaControls,反之亦然,这可能是一个更简单的选项,然后安装AlphaControls包或手动编辑源文件,转换工具是免费的.只要记得在转换之前进行备份,如果出现任何问题.

选项3 - 手动编辑源文件

您可以自己手动删除这些引用.但请注意,如果删除引用,那么Delphi将不再知道TsStatusBar曾经存在,毫无疑问会有代码在某处与该组件进行交互,这会产生编译器错误.

作为删除引用的替代方法,您可以将它们重命名TsStatusBarTStatusBar,这是VCL中的标准状态栏.在最坏的情况下,可能需要纠正一些小的语法错误.如果您决定编辑表单源和dfm文件,那么我建议您在将表单加载到IDE之前执行此操作.

选项4 - GExperts

您还可以安装IDE专家(如GExperts),它可以自动执行重命名/转换组件引用的过程.

但是我建议不要在这种情况下删除或重命名引用,因为它似乎依赖于AlphaControls包.

摘要

我可以看到AlphaControls包中有更多的组件被使用,因此手动修复TsStatusBar错误只会解决部分问题.

如果项目必须保持当前状态,那么安装AlphaControls包是可行的方法,如果你能够编辑它,那么我也会建议项目转换选项,这样你甚至不需要AlphaControls包.

如果你确实选择安装软件包,重要的是要意识到一旦你安装软件包,Delphi知道源文件能够编译的位置.安装软件包后,从IDE中转到菜单>工具>选项,然后您需要转到库并将AlphaControls源的文件夹添加到库路径.源文件夹将是包含最多.pas文件的文件夹,但如果您不确定,可以添加所有文件夹.如果不添加到库路径,则在使用新组件时Delphi将无法编译.

  • + 1为令人敬畏的解释=) (3认同)