Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 在Delphi中找不到类_Class_Delphi - Fatal编程技术网

Class 在Delphi中找不到类

Class 在Delphi中找不到类,class,delphi,Class,Delphi,我有一个delphi应用程序,目前有3个单元 我有两个表单Start\u Interface\u,Login\u 还有一个附加单元(没有形式),称为TMobileSystem\u 在TMobileSystem\u中,我有几个类 TWebSystem = Class Protected FRequest: TRequest; Public Constructor Create(); Function Login(SUsername: String; SEmail:

我有一个delphi应用程序,目前有3个单元

我有两个表单
Start\u Interface\u
Login\u
还有一个附加单元(没有形式),称为
TMobileSystem\u

TMobileSystem\u
中,我有几个类

TWebSystem = Class
  Protected
    FRequest: TRequest;

  Public
    Constructor Create();
    Function Login(SUsername: String; SEmail: String; SPassword: String): String;
End;
但是,当我将单位添加到任何表单的使用中时,我不能引用类

例如: 在
Login\u
中,我想添加一个名为
WebSystemInterface:TWebSystem
的变量,问题是当我使用
crtl+space
时,它在uses中既找不到
TMobileSystem\u
,也找不到作为变量声明的类

有什么不对劲吗?有人知道吗

**编辑

这是尝试编译项目后的输出

Checking project dependencies... Compiling Exotic_Pets.dproj (Debug, Win32) dcc command line for "Exotic_Pets.dpr" c:\program files (x86)\embarcadero\studio\14.0\bin\dcc32.exe -$O- -$W+ --no-config -M -Q -TX.exe -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\Win32\Debug -I"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\release"; C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;"c:\program files (x86)\embarcadero\studio\14.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;"c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win32" -LEC:\Users\Public\Documents\Embarcadero\Studio\14.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp -NU.\Win32\Debug -NSWinapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\release";C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;"c:\program files (x86)\embarcadero\studio\14.0\include"; "C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win32" -R"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\release"; C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;"c:\program files (x86)\embarcadero\studio\14.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;"c:\program files (x86)\embarcadero\studio\14.0\include";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win32" -U"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\studio\14.0\lib\Win32\release";C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;"c:\program files (x86)\embarcadero\studio\14.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;"c:\program files (x86)\embarcadero\studio\14.0\include"; "C:\Program Files (x86)\Raize\CS5\Lib\RS-XE6\Win32" -V -VN -NBC:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\14.0\hpp -NO.\Win32\Debug Exotic_Pets.dpr [dcc32 Error] Login_u.pas(39): E2003 Undeclared identifier: 'TWebSystem' [dcc32 Fatal Error] Start_Interface_u.pas(43): F2063 Could not compile used unit 'Login_u.pas' Failed Elapsed time: 00:00:00.3 正在检查项目依赖项。。。 编译异国情调的_Pets.dproj(调试,Win32) “异国情调宠物.dpr”的dcc命令行 c:\ProgramFiles(x86)\embarcadero\studio\14.0\bin\dcc32.exe-$O---$W+--无配置-M-Q-TX.exe-AGenerics.Collections=System.Generics.Collections; Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE-DDEBUG -E.\Win32\Debug-I“c:\ProgramFiles(x86)\embarcadero\studio\14.0\lib\Win32\Debug”;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\lib\Win32\release”; C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\Imports”; C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\include”;“C:\程序文件 (x86)\Raize\CS5\Lib\RS-XE6\Win32“-LEC:\Users\Public\Documents\Embarcadero\Studio\14.0\Bpl-LNC:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp -NU.\Win32\Debug-NSWinapi;系统赢;数据赢;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;溴化二苯醚;制度;Xml;数据;数据捕捉;网状物肥皂-O“c:\程序文件 (x86)\embarcadero\studio\14.0\lib\Win32\release”;C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;“c:\程序文件 (x86)\embarcadero\studio\14.0\Imports”;C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\include”; “C:\ProgramFiles(x86)\Raize\CS5\Lib\RS-XE6\Win32”-R“C:\ProgramFiles(x86)\embarcadero\studio\14.0\Lib\Win32\release”; C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\Imports”; C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\include”;“C:\程序文件 (x86)\Raize\CS5\Lib\RS-XE6\Win32“-U”c:\ProgramFiles(x86)\embarcadero\studio\14.0\Lib\Win32\debug”;“c:\程序文件 (x86)\embarcadero\studio\14.0\lib\Win32\release”;C:\Users\Jacques\Documents\Embarcadero\Studio\14.0\Imports;“c:\程序文件 (x86)\embarcadero\studio\14.0\Imports”;C:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp;“c:\ProgramFiles(x86)\embarcadero\studio\14.0\include”; “C:\ProgramFiles(x86)\Raize\CS5\Lib\RS-XE6\Win32”-V-VN-NBC:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\14.0\hpp-NO.\Win32\Debug investic\u Pets.dpr [dcc32错误]登录\ u.pas(39):E2003未声明的标识符:“TWebSystem” [dcc32致命错误]启动接口\u.pas(43):F2063无法编译使用的单元“登录\u.pas” 失败 运行时间:00:00:00.3
  • 如果您的单位位于不同的文件夹中,且其路径未在DPR或项目“搜索路径”中设置,则会发生这种情况

  • 当在
    uses
    部分中使用时,Ctrl+Space可能并不总是表示可用单位的完整长度。我会跳过这条线索

  • 如果将单元添加到
    implementation
    部分,则在此之前不能访问它的constatnts/classes/etc(例如,在TForm字段、类型定义和var部分)

  • 实现
    部分声明的类不能被其他单元看到或访问

  • 如果您的单位位于不同的文件夹中,且其路径未在DPR或项目“搜索路径”中设置,则会发生这种情况

  • 当在
    uses
    部分中使用时,Ctrl+Space可能并不总是表示可用单位的完整长度。我会跳过这条线索

  • 如果将单元添加到
    implementation
    部分,则在此之前不能访问它的constatnts/classes/etc(例如,在TForm字段、类型定义和var部分)

  • 实现
    部分声明的类不能被其他单元看到或访问


  • 您是否可能在implementation uses子句中添加
    TMobileSystem\u
    单元,并试图在接口部分添加对
    TWebSystem
    的引用?@Andy\u D-我将该单元添加到顶部的uses中,因为我想在表单问题的
    protected
    声明中添加变量,但是你真的试过编译这个项目吗?或者你依赖于类完成吗?我真的试过编译这个项目,然后我得到了一个错误(见我问题的编辑版本)所有的源文件都在同一个文件夹中吗?如果看不到登录的代码,就很难知道发生了什么。
    TMobileSystem\u
    单元是否在另一个项目中编译?您是否可能在implementation uses子句中添加
    TMobileSystem\u
    单元,并试图在Interface部分中添加对
    TWebSystem
    的引用?@Andy\u D-我正在顶部的uses中添加单元,因为我想在中添加变量
    保护了问题的
    声明,但是你是否真的试图编译该项目,或者你是否依赖于类完成?我确实试图编译该项目,然后我得到了错误(请参阅问题的编辑版本)所有源文件是否都在同一文件夹中?如果看不到登录的代码,就很难知道发生了什么