Code Insight中未声明的标识符?

时间:2015-06-10 10:33:46

标签: delphi

unit lc

type

TSite = class(TObject)
...
public
  function BlockRef_Delete( AlcBlockRef: THandle ): integer;
...
unit main;

interface

uses
  ... lc ...;

var
  Site: TSite;

在单位&#39; main&#39;的任何地方,即使我使用任何网站的方法,我都会获得未声明的标识符{网站的方法名称}。< / p>

我检查了单位文件的路径,项目中没有其他的dcu或pas。

有趣的是,即使是免费的&#39;网站&#39;的方法代码洞察无法看到。

否则,项目编译。 IDE:Delphi 2010。

1 个答案:

答案 0 :(得分:0)

看起来某个其他单位声明使用的TSite类型;

尝试声明var awith完全限定名称

unit main; uses .. lc, ...;
var
  Site: lc.TSite;

同样通过FQ-name引用var也是有意义的,只是我将一些其他单元或过程声明为一些函数或变量,名称为&#34; Site&#34;

unit main; uses .. lc, ...;
var
  Site: lc.TSite;

....
  main.Site := lc.TSite.Create;
....
  main.Site.Free;

PS:如果您的lc单位使用其他单位,您也可以专门化tye声明:type TSite = class(System.TObject);