2014-05-21 16 views
2

我有一個delphi應用程序,當前有3個單元。不能在Delphi中查找類

我有兩種形式Start_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問題的變量是,它並沒有發現任何的用途TMobileSystem_u當我使用crtl + space,並沒有找到上課的時候我宣佈它作爲一個變量。

什麼可能是錯的?有人知道嗎 ?

**編輯

這是試圖編譯項目

 
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 
+2

您是否可能在實現使用子句中添加'TMobileSystem_u'單元並試圖在接口部分添加對TWebSystem的引用? –

+0

@Andy_D - 我將這個單元添加到頂端的用法中,因爲我想將這個變量添加到形式爲 – user3564246

+0

的'protected'聲明中,但是你真的試圖編譯這個項目還是依靠它完成課程? –

回答

4
  1. ,如果你的單位在不同的文件夾及其路徑沒有在DPR也不項目設置發生後的輸出「搜索路徑」。

  2. uses部分中使用時,Ctrl +空格並不總是暗示可用單位的全部長度。我會跳過這個線索。

  3. 如果添加單元爲implementation部分,你不能訪問它的constatnts /班/等在這之前(例如,在TForm的領域,類型定義和VAR部分)在implementation部分聲明

  4. 類可以不被其他單位看到或訪問。