gpt4 book ai didi

forms - 当Form2试图在delphi中编辑form1时访问冲突

转载 作者:行者123 更新时间:2023-12-03 18:23:52 29 4
gpt4 key购买 nike

例如,当我尝试做这样的事情时

form2.Edit1.text=form1.edit1.text

它给了我一个访问冲突错误。

form2 可以使用 form1 变量的方式是通过添加
uses Unit1; var Form1:Tform1

到执行

该程序编译正常,没有错误,但是当尝试从 form1 实际访问 edit1 时,它会因错误而崩溃。

编辑:

当我将 unit1 添加到“使用”列表中时,它似乎正在工作,而不是在实现中,而是在接口(interface)下

这意味着 unit2 可以编辑 unit1 但我现在不能将 unit2 添加到 unit1 接口(interface)的使用中
循环单位引用

简而言之,这意味着
  • unit2 可以编辑/查看 unit1
  • unit1 无法编辑/查看 unit2

  • 那么有没有办法在不创建其他两个单元引用的第三帧的情况下使其成为可能?

    最佳答案

    您有两个名为 Form1 的变量在你的项目中。 .dpr 文件中的代码创建了一个 TForm1并将引用保存在 中一个 两个Form1变量。然后您指的是另一个未分配的Form1 .

    这就解释了为什么您会遇到访问冲突。如何解决?只需删除 Form1来自 Unit2 的变量.使用“在文件中查找”功能确保您只有一个 Form1 声明, Form2等在您的整个项目中。

    当您正确地执行此操作时,您将毫无问题地让每个单元从实现部分使用另一个单元,而不会出现循环引用问题。

    为了更好地学习和理解这一点,我建议您阅读 .dpr 文件以了解如何初始化全局变量。我还建议您阅读有关范围解析的 Delphi 语言指南部分,以了解编译器如何解决两个相同名称在同一位置可见的情况。

    关于forms - 当Form2试图在delphi中编辑form1时访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9171860/

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