F2051单元ADODB使用其他版本的ADOInt._Command编译

Swagman9203

我继承了一些Delphi 7代码,并试图迁移到Delphi2010。在必要时,我已经完成了所有表单和代码更新,但是当我尝试运行时,会在上面的标题中显示消息。我有4个由程序查询的访问数据库文件。我在MS Access 2013中打开了这些文件,它们看起来都不错。有趣的是,当我创建一个新项目并添加相同的ADO组件时,网格中显示的数据就很好了。我尝试了与F2051错误相关的论坛上列出的各种选项,但无济于事。谁能建议我可能要去哪里。聪明的想法。

托尼

德尔蒂奇

检查项目源(DPR)和/或已迁移的应用程序项目的设置。

您可能会在uses列表中找到引用ADO单元的显式条目,这些条目通常是VCL / RTL的一部分。

或者,您可能会发现相关的ADO * .pas文件已与DPR文件本身放置在相同的位置。

或者,您可以在项目搜索路径中引用的位置中找到这些单位。

无论哪种方式,问题都可能是较旧项目从VCL源代码中获取单元并将其放置在项目特定位置以允许对这些单元进行更改的结果。这是一种修复VCL单元中的错误的技术,只要不修改单元的界面和/或类似地重新编译所有从属单元,该技术就可以工作。

interface单元部分确定如何将其他单元链接到该单元,如果您更改该接口,则到这些其他单元的链接会断开。如果可以重新编译那些其他单元,则可以解决此问题,但是在VCL单元的情况下,这通常会导致这些问题,因为通常不会重新编译那些其他单元

一旦确定了项目中涉及的已更改的VCL单元,则应将已更改的版本与更高版本的编译器提供的版本进行比较(Delphi 2010)。您可能会发现Delphi 7项目中的更改是为了修复单元的标准VCL版本中现已修复的错误,在这种情况下,您可以从项目中删除修改后的ADO VCL单元,而仅使用VCL版本。

或者,您可能会发现在Delphi 7单元中所做的更改需要移植到Delphi 2010版本中,在这种情况下,您应该复制项目组织,以允许使用Delphi 2010在您的Delphi 2010项目中重新编译所涉及的单元单元,然后将Delphi 7版本中的更改合并到这些Delphi 2010单元中:

Delphi 7 original.pas            Delphi 2010 original.pas

      ^                                      \
    diff  --------------------------------> port
      v                                       _\|

Delphi 7 modified.pas                   Delphi 2010 modified.pas

请注意,如果Delphi 2010原始版本与Delphi 7原始版本不同,则必须小心移植项目所需的那些更改,而不撤消其他修补程序,也不会影响interface已修改单元的版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编译dll以其他语言工作

来自分类Dev

编译为其他python版本

来自分类Dev

使用Maven编译ycsb

来自分类Dev

Delphi-修复VCL错误时,使用x的不同版本编译了x单元

来自分类Dev

使用Go反编译已编译的程序

来自分类Dev

F2051:单元%s是用不同版本的%s编译的

来自分类Dev

您可以使用mingw编译的程序访问其他程序的内存吗?

来自分类Dev

ADODB Command.Execute超时

来自分类Dev

为通用x86 / 64和Xeon或其他版本编译的Linux内核之间有什么区别

来自分类Dev

F#错误编译

来自分类Dev

在不同的编译单元中使用不同的编译标志编译相同的标头

来自分类Dev

无法使用TSC编译的生成版本

来自分类Dev

如何在其他Roslyn编译中将Roslyn脚本提交作为程序集使用

来自分类Dev

使用Webpack编译Scss

来自分类Dev

使用CodeDom进行编译

来自分类Dev

如何使用child_process.exec(command [,options] [,callback])在Node.js应用程序中使用某些用户输入来编译ac程序

来自分类Dev

在其他C文件中使用struct时的编译时错误

来自分类Dev

锈蚀条件编译的其他情况

来自分类Dev

在同一编译单元的其他类函数中声明另一个类的实例

来自分类Dev

Yocto:创建新的交叉编译器以供其他食谱使用

来自分类Dev

如何移植在2.6内核中编译的linux驱动程序,而不在其他新版本的内核中编译

来自分类Dev

使用Eclipse编译C ++

来自分类Dev

编译和使用OpenCV

来自分类Dev

编译dll以使用其他语言

来自分类Dev

II尝试使用其他方法设置值,但出现编译器错误

来自分类Dev

编译为其他python版本

来自分类Dev

F2051单元ADODB使用其他版本的ADOInt._Command编译

来自分类Dev

使用VS2013 Dev CMD:将C#文件编译到其他位置吗?

来自分类Dev

使用Compass进行编译时,请使用其他文件扩展名而不是css

Related 相关文章

  1. 1

    编译dll以其他语言工作

  2. 2

    编译为其他python版本

  3. 3

    使用Maven编译ycsb

  4. 4

    Delphi-修复VCL错误时,使用x的不同版本编译了x单元

  5. 5

    使用Go反编译已编译的程序

  6. 6

    F2051:单元%s是用不同版本的%s编译的

  7. 7

    您可以使用mingw编译的程序访问其他程序的内存吗?

  8. 8

    ADODB Command.Execute超时

  9. 9

    为通用x86 / 64和Xeon或其他版本编译的Linux内核之间有什么区别

  10. 10

    F#错误编译

  11. 11

    在不同的编译单元中使用不同的编译标志编译相同的标头

  12. 12

    无法使用TSC编译的生成版本

  13. 13

    如何在其他Roslyn编译中将Roslyn脚本提交作为程序集使用

  14. 14

    使用Webpack编译Scss

  15. 15

    使用CodeDom进行编译

  16. 16

    如何使用child_process.exec(command [,options] [,callback])在Node.js应用程序中使用某些用户输入来编译ac程序

  17. 17

    在其他C文件中使用struct时的编译时错误

  18. 18

    锈蚀条件编译的其他情况

  19. 19

    在同一编译单元的其他类函数中声明另一个类的实例

  20. 20

    Yocto:创建新的交叉编译器以供其他食谱使用

  21. 21

    如何移植在2.6内核中编译的linux驱动程序,而不在其他新版本的内核中编译

  22. 22

    使用Eclipse编译C ++

  23. 23

    编译和使用OpenCV

  24. 24

    编译dll以使用其他语言

  25. 25

    II尝试使用其他方法设置值,但出现编译器错误

  26. 26

    编译为其他python版本

  27. 27

    F2051单元ADODB使用其他版本的ADOInt._Command编译

  28. 28

    使用VS2013 Dev CMD:将C#文件编译到其他位置吗?

  29. 29

    使用Compass进行编译时,请使用其他文件扩展名而不是css

热门标签

归档