未声明的标识符错误 - 如何解决? (循环参考)

问题描述 投票:0回答:0

我将尝试从程序的其他地方调用函数,但出现“未声明的标识符”错误。这是一个例子:

  if GameParams.ClassicMode and not GameParams.GameResult.gSuccess then
  begin
  if not TGameBaseScreen.TryLoadReplay then
    begin
    fReplayManager.Clear(true);
    end;
  end;

我在一个叫

LemGame.pas
的单位工作。在上述情况下,
TGameBaseScreen
下划线为 Undefined identifier.

几乎确定这个方法/类(不确定它到底是什么)属于一个名为

GameBaseScreenCommon.pas
的单元,但是当我在
顶部的
GameBaseScreenCommon
列表中键入
uses
LemGame.pas
,我得到一个循环引用错误。所以,
LemGame
GameBaseScreenCommon
显然已经连接了。

LemGame
顶部有一大堆类型、类和过程。我很确定我需要在这里引用
TGameBaseScreen
,但我不知道到底在哪里是什么。即类、函数、过程、变量、类型等

完全初学者,我相信你能看出来。如果你真的回复了,我一开始可能不会确切地知道你的意思。从理论上讲,我已经看过很多关于 Delphi(和其他语言)的结构方式的视频。当你真正在做某事时,问题总是会出现,而且它比打印“Hello World”或进行某种数字计算更复杂。

delphi circular-reference
© www.soinside.com 2019 - 2024. All rights reserved.