gpt4 book ai didi

delphi - 如何解决DSServerModule1.ClientHeight : Property does not exist error

转载 作者:行者123 更新时间:2023-12-03 15:47:57 31 4
gpt4 key购买 nike

我编写了一个使用 firebird 数据库、服务器和客户端的应用程序。我最初使用 Delphi XE2 编写了该应用程序,并且一切正常。我现在已经转移到 Delphi XE6。

我重新编译了服务器并且没有错误,但是现在我重新编译客户端,它给了我以下错误:

ProjectPiping.exe raised execption class TDBXError with message "Remote error: Error reading DSServerModule1.ClientHeight: Propery CliehtHeight does not exist.

我在网上读到,您需要将顶部的 dfm 文件从“对象”更改为“继承”,但这没有什么区别。

有没有人可以帮助我,因为我看不到除了回到 Delphi XE2 之外我可以解决这个问题

最佳答案

对于不直接继承自基本 Delphi TFrameTDataModuleFramesDataModules,缺少属性错误很常见> 类。在某些情况下(每个 Delphi 版本都会发生变化)Delphi 将无法访问 FrameDataModule 祖先以确定它是否处理 TFrameTDataModule 后代。发生这种情况时,它将错误地将 Frame/DataModule 解释为 Form 并用 Form 特定属性污染其 .dfm .

您不必回滚到 XE2,您可以通过使用 Notepad.dfm 文件中删除属性来解决该问题,或者类似的编辑器。由于这是您在对此类 Frame/DataModule 进行设计工作时必须经常重复的操作,因此版本控制可以提供很大帮助。只是不要提交不应该存在的更改。应对 .dfm 文件中的零星更改的另一种方法是在完成设计时工作后将它们设置为只读。

正确的空DataModule .dfm文件:

inherited DataModule1: TDataModule1
OldCreateOrder = False
Height = 150
Width = 215
end

损坏的空 DataModule .dfm 文件

object DataModule1: TDataModule1
Left = 0
Top = 0
ClientHeight = 188
ClientWidth = 303
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
end

关于delphi - 如何解决DSServerModule1.ClientHeight : Property does not exist error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278014/

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