Codegear 2007 編譯Assert(Event <> NULL);報錯? |
答題得分者是:AndrewK
|
mitchellhu
一般會員 發表:23 回覆:53 積分:15 註冊:2007-06-12 發送簡訊給我 |
在網路上找到一篇有關Thread的文章(http://delphi.about.com/gi/dynamic/offsite.htm?zi=1/XJ/Ya&sdn=delphi&cdn=compute&tm=7&gps=98_343_1020_543&f=11&su=p284.8.150.ip_&tt=14&bt=1&bts=0&zu=http://www.midnightbeach.com/jon/pubs/MsgWaits/MsgWaits.html),有附code,所以就下載來研讀。
但其中一段程式如下: [code delphi] constructor TStopStartThread.Create; begin Event := CreateEvent(Nil, True, False, Nil); // API call is smaller and simpler than Delphi wrapper Assert(Event <> NULL); Waiting := False; Aborted := False; inherited Create(True); // Create a suspended thread end; // TStopStartThread.Create [/code] 其中 Assert(Event <> NULL);段 Codegear 2007 在編譯時報錯 [DCC Error] SynchedThreads.pas(188): E2003 Undeclared identifier: 'NULL' 我實在想不出來錯誤的原因?是轉型的問題嗎?或是編譯器的除錯選項要修改?windows unit 有宣告到,但是為什麼會認不出來? 請教高手提示一下,謝謝 |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
|
mitchellhu
一般會員 發表:23 回覆:53 積分:15 註冊:2007-06-12 發送簡訊給我 |
感謝andrewx的回覆,use variants unit後,程式可以執行。
有關本篇文章係英文的,所以當下我尚未有能完全明白作者訴求是什麼。不過基本上他是提出許多Delphi Thread 的重要觀念及說明。另他主要有感於delphi thread 未能如 windows thread API這樣易於上手的介面,而自已針對了delphi thread 的運用,以比較安全及簡明的方式寫出示範碼,並逐一說明。個人因剛才開始研讀thread,許多觀念待努力澄清及學習(一般教材實在無法參用),期望大家指導一些方向及提供可參考的資訊。 感謝各位。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |