我有我的應用程序日誌記錄的輔助形式,我有一個過程AddLine
:公共過程在Delphi XE8不可見
type
TFormLog = class(TForm)
Memo1: TMemo;
private
procedure AddLine(aString: String);
{ Private declarations }
public
{ Public declarations }
end;
var
FormLog: TFormLog;
implementation
{$R *.dfm}
{ TFormLog }
procedure TFormLog.AddLine(aString: String);
begin
Memo1.Lines.Add(aString);
end;
當我使用自動完成(按Ctrl-Shift_C)德爾福添加AddLine
程序到private
部分,所以很明顯的程序是不可見的主要形式,當我嘗試
FormLog.AddLine('some text');
但移動的聲明向公衆部分沒有幫助:
type
TFormLog = class(TForm)
Memo1: TMemo;
private
{ Private declarations }
public
{ Public declarations }
procedure AddLine(aString: String);
end;
我仍然收到一個編譯器錯誤,AddLine
過程未解決。我確實將日誌單元添加到uses
子句中,因此在主窗體中已知Formlog
。
試圖直接訪問TMemo具有相同的效果。
如何修復我的代碼,以便我可以將文本添加到我的主窗體的日誌窗體中?
移動'AddLine'市民節並保存表單。將該單位添加到您的項目。如果這不起作用,那麼編譯器必須正在拾取具有相同名稱的另一個單元或使用先前編譯的單元(以某種方式不能看到源)。 –
至於拿起另一個單元,我會開始procmon,開始編譯,停止procmon並驗證.pas文件被編譯。很可能,這不是你所假設的。 –
報告您的實際錯誤並顯示實際存在問題的代碼,而不是可以工作的代碼。正確的代碼是無關緊要的。使用複製和粘貼來報告編譯器錯誤,而不是「它不工作」或「我得到一個編譯器錯誤」。 –