gpt4 book ai didi

delphi - 是否可以在Delphi XE和DataSnap中使用Indy 10.5.8.0?

转载 作者:行者123 更新时间:2023-12-03 14:45:05 25 4
gpt4 key购买 nike

案件

我正在尝试将INDY更新为我的Delphi XE(更新1)的最新版本,因此我从indy.fulgan.com/ZIP下载了最新的INDY10文件(Indy_4545.zip)。

软件包成功编译,我现在甚至可以在“关于”对话框中看到新版本10.5.8.0,但是在IDE重新启动后,我收到一条消息,提示:

No se encuentra el punto de entrada del procedimiento @Idhttp@TIdCustomHTTP@GetRequestHeaders$qqrv en la biblioteca de vínculos dinámicos IndyProtocols150.bpl.


我的免费英语翻译:

Entry point not found for procedure @Idhttp@TIdCustomHTTP@GetRequestHeaders$qqrv not found on the dynamic link library IndyProtocols150.bpl.


快速比较新旧IdHTTP.pas之后,我在TIdCustomHttp类上发现了很多更改,包括重命名了一些方法
  • GetResponseHeader到GetResponse
  • GetRequestHeaders到GetRequest
  • SetRequestHeaders到SetRequest

  • 以及在此以及其他和类接口(interface)中更改的公共(public)/已发布方法公司。

    更新后,我得到了很多无法加载的软件包,包括dclcxPivotGridOLAPD15.bpl,而该文件又取决于dclDataSnapServer150.bpl,后者在bpl上遇到缺少的方法。

    AFAIK我无法重新编译dclDataSnapServer150.bpl(也许还有其他失败的软件包,我只是在这里停止了)。

    每天对IDE的DataSnap和DevExpress支持都是必须的,因此

    问题
  • 是否有安全的预先建立的路径可以更新到Delphi XE的最新INDY?
  • 如果不是,那么我是否只是通过创建旧的公共(public)方法并在实现部分调用新的公共(public)方法来对源代码进行解析来保证安全?
  • 我是否还缺少其他东西,或者我真的坚持使用INDY 10.5.7,直到下一个Delphi次要/主要版本发布?
  • 最佳答案

    [为Delphi XE安装Indy]

    是的,安装过程很繁琐,但是值得正确完成。

    这适用于除SSL之外的所有Indy组件。 (我还没有尝试过任何SSL东西。)

    )查找并销毁Delphi随附的所有Indy文件。这些都是
    这并不好,因为Indy项目每天都会更新并修复新的错误。
    如果Delphi选择了任何旧文件而不是新的Indy新库,
    在所有不同的时间,您都会从IDE中收到疯狂的错误,这些错误很难解决
    痕迹。

    一世。转到组件->安装软件包,然后完全删除所有以“Indy”开头的软件包。

    ii。关闭Delphi。

    iii。从Delphi的Bin文件夹中删除所有与“dclIndy * .bpl”和“Indy * .bpl”匹配的文件。
    (C:\Program Files\Embarcadero\RAD Studio\8.0\bin)

    iv。擦除与Delphi的Lib子文件夹中的“Indy * .dcu”和“Id * .dcu” ^^^匹配的所有文件。
    (C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\debug)
    (C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\release)
    ^^^警告:当心非Indy DCU,它们恰巧以字母“id”开头
    例如“idispids.dcu”和“idoc.dcu”

    v。删除整个Indy10源文件夹:
    (C:\Program Files\Embarcadero\RAD Studio\8.0\source\Indy10)

    B.)http://indy.fulgan.com/ZIP/下载最新的Indy10_XXXX.zip
    (如果您使用此zip文件执行任何步骤,都遇到编译错误或运行时错误,
    下面-不要气!!在第二天重新下载zip文件,然后尝试
    再次。该zip文件每天都会更新,并且可能
    在任何给定的日期出现一些错误/错误。

    )。仅将System,Core和Protocols文件夹提取到您自己的Indy库文件夹中。前任。
    (c:\MyDelphiComponents\Indy\Core)
    (c:\MyDelphiComponents\Indy\System)
    (c:\MyDelphiComponents\Indy\Protocols)

    D。)启动Delphi。忽略所有失败的软件包对话框:这些是Embarcadero软件包
    那要靠印地! (只需在所有错误上单击确定,并指出所有失败
    软件包不应该再次加载。)

    )。转到选项->环境选项-> Delphi选项->浏览路径
    -删除以$(BDS)\Lib\Indy10开头的路径

    )转到选项->环境选项-> Delphi选项->库路径
    -从步骤C将新的System,Core和Protocols文件夹添加到Delphi的库路径中。

    。依次执行以下5个操作:
    (只要对任何有关升级项目的对话框说“确定”即可。)

    重要的:

    加载每个dpk之后且每次构建之前,请转到:

    项目->选项->描述->构建控制

    将单选按钮设置为“显式重建”。

    (实际上,这是可选的,但我总是使软件包显式重建
    因为它们似乎更容易处理,但我想听听
    其他人考虑这个...)

  • Build-System\IndySystem150.dpk
  • 构建-Core\IndyCore150.dpk
  • 首先建立,
    然后安装-Core\dclIndyCore150.dpk
  • 构建-Protocols\IndyProtocols150.dpk
  • 首先建立,
    然后安装-Protocols\dclIndyProtocols150.dpk

  • **仔细检查您是否在所有软件包上都设置了“显式重建”! **

    最后,转到Component-> Install Packages,找到所有依赖的软件包。
    在Indy上已在步骤D中将其关闭。重新激活它们,然后重新启动Delphi。
    (如果您的新Indy与Delphi发行的Indy相比没有太大变化,
    包将使用新的Indy!)

    ++注意,重新激活这些Embarcadero时,您可能不会立即收到任何错误
    软件包,但它们可能会在以后的随机时间弹出。例如我刚安装
    Indy10_4548.zip和所有重新激活的软件包似乎都不错。然后一天后
    蓝色,IDE向我发送了一条消息,提示它在以下位置找不到GetRequestHeaders
    TIdCustomHTTP以及dclWindowsAzureManagement150.bpl作为
    结果。因此,我不得不返回并在IDE中禁用该Windows Azure程序包。

    关于delphi - 是否可以在Delphi XE和DataSnap中使用Indy 10.5.8.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567127/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com