線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1599
推到 Plurk!
推到 Facebook!

Delphi 2006, TList 增加一個 public procedure後, 無法編譯

答題得分者是:syntax
sams
一般會員


發表:18
回覆:20
積分:12
註冊:2003-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-06 05:25:19 IP:61.64.xxx.xxx 訂閱
Dear All,

最近在轉用 Delphi 2006, 想修改內建的 vcl原始碼..
用 TList 測試, 增加一個 public procedure後, 無法編譯..
出現 [Pascal Error] Unit1.pas(30): E2003 Undeclared identifier: 'test'
請問有經驗的大大要怎麼處理? 謝謝~

部份程式碼如下:

classes: ///////////////////////////////////////////////////////////////
uses Dialogs;

TList = class(TObject)
public
procedure test;

procedure TList.test;
begin
showmessage('test');
end;

unit1: ///////////////////////////////////////////////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var list: TList;
begin
list:= TList.Create;
list.test;
list.Free;
end;
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-06 08:22:14 IP:61.220.xxx.xxx 訂閱
把 procedure TList.test; 改為 procedure test; 看看
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
sams
一般會員


發表:18
回覆:20
積分:12
註冊:2003-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-06 08:46:30 IP:59.124.xxx.xxx 訂閱

===================引 用 pcboy 文 章===================
把 procedure TList.test; 改為 procedure test; 看看


uses Dialogs;

TList = class(TObject)
public
procedure test;

implementation

procedure TList.test;
begin
showmessage('test');
end;

>中間忘了加 implementation 這行, 所以不是這個問題喔..
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-09-17 08:24:27 IP:61.64.xxx.xxx 訂閱
我想以上看官,沒有將題目看清楚
所以答非所問囉!

提問者要求 想修改內建的 vcl原始碼,TList 測試, 增加一個 public procedure後, 無法編譯

所列之程式,沒有錯誤,不能編譯

原因在於編譯時使用的是舊的 *.dcu 例如 Classes.dcu

要修改 vcl 請重新編譯 *.pas (不是改改程式碼就好,要重新編譯,目的是要置換 *.dcu)
然後。置換 *.dcu 以免抓到舊的 dcu ,當然函數不存在

如果要置換的是元件,請重新編譯 *.bpl 並置換掉
系統時間:2024-04-24 3:59:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!