services 程式裡面的巨集 |
尚未結案
|
shinnuei
一般會員 發表:32 回覆:48 積分:21 註冊:2002-03-13 發送簡訊給我 |
各位先進請先看小弟剛發表的這一篇:
【BCB】【發表】兩個巨集、inline 函數 [bool 轉字串]、[字串轉bool]
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=38637 小弟最近在寫 windows services 程式,覺得和一般程式不太一樣…
很多獨立測試都沒問題的,一到了 service 程式裡面就不行了。
比如攔 window message的方式、巨集的寫法,
現在這一個就是上述連結的巨集指令問題:
在一般程式裡面都很正常,請看結果:
#define b2s(b) ((b) ? ("true") : ("false")) #define s2b(s) (((s)=="true") ? (true) :(false)) Memo1->Lines->Add(b2s(true)); if(s2b("true")) Memo1->Lines->Add("true"); else Memo1->Lines->Add("false"); 一般程式: true true service 程式: true false請問這是什麼原因呢?寫service 有沒有什麼要注意的? |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位先進請先看小弟剛發表的這一篇: 【BCB】【發表】兩個巨集、inline 函數 [bool 轉字串]、[字串轉bool] http://delphi.ktop.com.tw/topic.php?TOPIC_ID=38637 小弟最近在寫 windows services 程式,覺得和一般程式不太一樣… 很多獨立測試都沒問題的,一到了 service 程式裡面就不行了。 比如攔 window message的方式、巨集的寫法, 現在這一個就是上述連結的巨集指令問題: 在一般程式裡面都很正常,請看結果:#define b2s(b) ((b) ? ("true") : ("false")) #define s2b(s) (((s)=="true") ? (true) :(false)) Memo1->Lines->Add(b2s(true)); if(s2b("true")) Memo1->Lines->Add("true"); else Memo1->Lines->Add("false"); 一般程式: true true service 程式: true false請問這是什麼原因呢?寫service 有沒有什麼要注意的? shinnuei 你好: (1)如果這個巨集這樣子寫的話,我在一般程式得到的結果是 true/false #define s2b(s) ((s=="true") ? (true) :(false)) (2)如果這個巨集這樣子寫的話,我在一般程式得到的結果是 true/true #define s2b(s) ((UpperCase(s)==UpperCase("true")) ? (true) :(false)) (3)不過我並沒有在 Service Application 做測試,建議你再試試看吧 ( > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
shinnuei
一般會員 發表:32 回覆:48 積分:21 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |