談笑有鴻儒,往來無白丁

          在恰當(dāng)?shù)臅r間、地點以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時候請注意分類,佛曰我日里面是談笑文章,其他是各個分類的文章,積極的熱情投入到寫博的隊伍中來,支持blogjava做大做強!向dudu站長致敬>> > 我的微博敬請收聽


          <一>

          用D7寫了一個調(diào)用C#的WebService客戶端程序。開了一個線程,定時訪問WebSerice的接口。

          程序在我的本本上(WINXP)測試時,跑的很歡暢。

          ?

          <二>

          昨天晚上,把這個WebService客戶端以NT服務(wù)的形式注冊部署到服務(wù)器上(Win2003 Server)。

          這樣開機后便可以服務(wù)方式自動運行,不用人工監(jiān)管。

          待部署完畢后,啟動服務(wù)。但執(zhí)行時間一到,日志中監(jiān)測到報錯:調(diào)用WebService時異常。

          可原本好好的,咋這就納悶了呢!?

          并且這是個很簡單的東東,于是,郁悶。

          服務(wù)器沒有IDE環(huán)境,Debug非常痛苦,日志記錄跟蹤。

          跟蹤發(fā)現(xiàn),得到WebService對象的時候是沒有問題的,但在調(diào)用其接口的時候產(chǎn)生了異常。

          又單獨寫了WebService客戶端可執(zhí)行的測試程序,在服務(wù)器上運行。

          結(jié)果Throw出的Exception是“Access violation at address 00E24255. Write of address 00E24255”。

          暈菜。這就是出名的“Access violation”。

          沒辦法,解決問題吧。

          通常訪問對象(內(nèi)存地址)不存在或COM異常時會有這種報錯。

          先在網(wǎng)上搜,看看是不是WebService的問題。

          baidu+google,搜個底朝天,無解,繼續(xù)郁悶。

          “Access Violation”果真是大名鼎鼎--“最令人氣惱的Windows程序遇到的錯誤之一”。

          關(guān)于“Access violation”,的確有N多條記錄被搜到,但無對癥的。

          其中說法不一,各有特色。

          有關(guān)于系統(tǒng)dll的,有關(guān)于硬件設(shè)備及其驅(qū)動的。

          還有一貼,好像是老貓寫的,關(guān)于Delphi Access violations 問題的解決之道,亦非我所需者。

          另有一貼,說是線程中訪問ADO的問題,但我已經(jīng)初試化了COM接口。

          于是打開程序,把線程排查看了一邊,沒問題,好好的。

          另外,一般關(guān)于Delphi打造WebService客戶端的例子中,都會提到THTTPRIO的。

          而我一向是不用這個東東的,嫌麻煩。

          莫非是這個小東東在搞鬼,它也就是起到接口轉(zhuǎn)換的作用。

          我加了一個。轉(zhuǎn)了一下。試了一次。

          徒增加了一點郁悶。

          ?

          <三>

          接下來琢磨:程序在筆記本上無誤,但部署在到服務(wù)器上出錯。說明服務(wù)器的環(huán)境有問題,而非程序本身之過。

          莫非在線程中調(diào)用WebService服務(wù),在客戶端需要部署什么插件或注冊什么東東乎?

          就象部署MIDAS的時候,需要注冊midas.dll一樣。

          于是乎,狂搜。

          在CSDN上發(fā)現(xiàn)了一個哥們說--

          ? >使用Delphi在客戶端調(diào)用WebService
          ? >確保你的電腦上裝了SoapToolkit
          ? >新建項目,要Uses ComObj

          很好奇:SoapToolkit。

          于是乎,搜。下載。

          把“SoapToolkit30.EXE”,裝到服務(wù)器上。

          然,問題依然。

          可選擇的:急死,或氣死。

          ?

          <四>

          時值深夜,大雨如注。

          抓耳撓腮,百思不解。

          蚊蟲襲來,渾然不覺。

          青燈古佛,頗有禪意。

          凄凄慘慘戚戚中,我只能獨自一遍一遍大喊:買嘎的!買嘎的!

          再想辦法~~

          待從頭,收拾舊山河。

          ?

          <五>

          想來想去,沒辦法了。換臺機子試試。

          于是找了一臺PC,同樣是Win2003 Server。

          試了。沒有問題。

          信心大增。

          突然,慢著--莫非是Delphi的問題?--這臺PC上裝有D7的IDE,而服務(wù)器上沒有安裝Delphi。

          莫非在Delphi在安裝的時候,注冊了什么東東,這樣WebService客戶端就可以運行了。

          而沒有安裝IED的機器就不能運行?--按說不會,調(diào)用WebService不會太依賴客戶端的環(huán)境。

          但,總結(jié)以往血淋淋的教訓(xùn),從業(yè)的經(jīng)驗告訴過我們--這是值得試試的。

          高人曾說過:絕望的時候,稻草是可以救命的。

          ?

          <六>

          我的稻草是一張D7的安裝光盤,哪怕是盜版的。 *_*

          But,就在這個深夜--華南的多雨的悶熱的深夜里--我的稻草沒有在身邊。 :(

          (轉(zhuǎn)折句,的確能夠加強語感,我喜歡!)??????????

          它在光盤包里。光盤包在行李箱里。而行李箱在住所。

          住所在X公里外(X>=5)。

          ?

          <七>

          坐上車的時候,雨已經(jīng)停了。

          回到住所,巴西正對克羅地亞。

          那群跳桑巴舞的家伙在拼命的時候,WK,我也在北京時間里奮斗。

          不過,對不起了,兄弟們!你們繼續(xù),俺洗洗睡了。

          天生對某些運動不敢興趣。

          輾轉(zhuǎn)反側(cè)。

          繞樹三匝。

          終于睡去。

          ?

          <八>

          7點01分,短信。是昨夜比賽結(jié)果。免費贈的。

          起床。

          D7光盤。

          吃點喝點。

          上班。

          ?

          <九>

          D7在哪里?D7在光盤上。光盤在光驅(qū)中。

          光盤是好光盤。光驅(qū)是好光驅(qū)。不錯。

          茶葉還沒有泡展,已安裝完畢。

          對一些人來說,我們深愛著D7--我們吃飯的家伙。

          欣欣然。

          D7的啟動畫面已經(jīng)在Win2003 Server的服務(wù)器上出現(xiàn)了。

          但是,報錯了--

          是“Can't load package:dclite70.bpl”的異常。

          同樣顯示的,還有“Access Violation”的錯誤。

          我,臉綠了。

          不止是簡單的faint!

          難道安裝出有問題了?在安裝時沒有報錯。

          第一次遇到這種問題--我信賴的D7啊!

          要有懷疑精神。懷疑自己安裝錯了。

          卸載。

          OS重啟。

          再次安裝。

          再次安裝完畢。

          再次啟動D7。

          再次是“Can't load package:dclite70.bpl”的異常。

          再次顯示的,還有“Access Violation”的錯誤。

          于是,開始缺氧+眩暈。

          ?

          <十>

          從昏厥中醒來,深深太平洋的深深質(zhì)疑 Win2003 Server + D7 的組合。

          而且,這個還是個“刀片”服務(wù)器。

          當(dāng)時,有了一個決定。

          凡遇到用Win2003者,先爆打一頓,弄成半死不活,半身不遂,半條命,爆頭。

          然后再用“刀片”想法弄成醬。

          醬油也行。

          :"(

          ?

          <十一>

          行走江湖。安全第一。

          風(fēng)平浪靜。海闊天空。

          平時對Win2003使用不多,了解不深。

          看了看系統(tǒng),是Standard Edition + Service Pack 1的。

          上網(wǎng)了解了一下,N個人曾在Win2003 Server下遇到過各種各樣的“Access Violation”。

          打過各種各樣的補丁。

          又特意去看了看那臺PC,裝的是Enterprise Edition + Service Pack 1的。

          版本果然不一樣。

          于是,找補丁。

          期待--驀然回首。那X卻X。

          ?

          <十二>

          百二秦關(guān)終屬楚。

          三千越甲可吞吳。

          微軟的補丁可真及時,勘比宋押司。

          補丁號碼是:KB904639

          名稱是:Windows Server 2003(32 位 x86)更新程序 (KB904639)

          快速描述:安裝本更新程序可以解決一個使某些應(yīng)用程序無法在 64 位環(huán)境中運行的問題。

          文件名: WindowsServer2003-KB904639-x86-CHS.exe
          ?
          版本: 904639

          知識庫 (KB) 文章: KB904639?

          發(fā)布日期: 2005/10/24

          語言: 簡體中文
          ?
          下載大小: 560 KB

          概述:
          安裝本更新程序可以解決一個使某些應(yīng)用程序無法在 64 位環(huán)境中運行的問題。
          嘗試運行使用 Microsoft 數(shù)據(jù)訪問組件 (MDAC) 2.8 的接口遠(yuǎn)程處理組件的 64 位應(yīng)用程序時,
          您可能會收到“access violation”(訪問沖突)錯誤消息,
          或者在使用任務(wù)管理器查看時 dllhost.exe 進(jìn)程可能會顯示 100% CPU 占用率。
          安裝本更新程序之后,可能需要重新啟動計算機。


          莫非這就是傳說中的Cut the Gordian Knot的亞歷山大之劍?抑或是達(dá)摩克利斯之劍?

          試。

          果然--不爽。

          念去去。

          千里煙波。

          凝噎。無語。崩潰。

          ?

          <十三>

          又找其他的補丁。

          沒有合格的。

          D7仍啟動仍報錯:Can't load package:dclite70.bpl。

          但在PC機上(Enterprise Edition + Service Pack 1)是可以的。

          詛咒Microsoft。

          廢池喬木。

          猶厭言兵。

          崩潰中。

          ?

          <十四>

          怎么辦?

          接著搜。

          隨便。摧殘。

          飛沙走石。天昏地暗。

          風(fēng)雨如晦。雞鳴不已。

          黃河之水天上來。

          一片孤城萬仞山。

          兩岸猿聲啼不住。

          日照香爐升紫煙。

          如履薄冰。如臨深淵。

          如芒在背。如坐針氈。

          如切如磋。如琢如磨。

          ?

          <十五>

          最是那一低頭的溫柔,恰似水蓮花不勝涼風(fēng)的嬌羞。

          以dclite70.bpl為關(guān)鍵字,搜索。

          感謝互聯(lián)網(wǎng)吧!

          感謝搜索引擎吧!

          感謝發(fā)貼回貼的兄弟吧!

          俺的神啊上帝以及老天爺啊!

          亞歷山大來了!

          在52SDN找到一個標(biāo)題為“delphi 7 能不能在windows 2003 server上安裝?”的帖子。

          內(nèi)容如下:

          安裝在2003上想試試,沒想到打開提示dclite70.bpl訪問非法地址。

          后果就是項目的選項窗口打不開(訪問非法地址)。

          那位兄弟有解決辦法?

          ------------

          安裝過的兄弟提示一下,謝謝!

          ------------

          可以...我裝過了...

          ------------

          對delphi 關(guān)閉數(shù)據(jù)執(zhí)行保護(hù)就好了 :)

          ------------

          看到最后一行!

          瘋了!

          ?

          <十六>

          右擊“我的電腦”。單擊“屬性”。

          在“系統(tǒng)屬性”中單擊“高級”。

          在“性能”中單擊“設(shè)置”。

          在“性能選項”中單擊“數(shù)據(jù)執(zhí)行保護(hù)”。

          單擊“添加”。選擇要運行的程序。

          OK。就這么簡單。

          ?

          <十七>

          借用溫大俠的話。

          如鶴臨風(fēng)。

          如鳶凌空。

          如鸞舞松。

          如鵬回峰。

          瘋了!

          ?

          <十八>

          小項,before Game Over,say:天亡我,非用兵之罪也。

          Windows 2003 Standard Edition。

          今天,你瘋了沒有!?

          ?

          ??????????????????????????????????????????????????????? ????????????? ????? By? JRQ

          ???????????????????????????????????????????????????????????? ?? 2006/06/14 夜? 小記于穗



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=797566

          posted on 2007-03-08 13:40 壞男孩 閱讀(1933) 評論(6)  編輯  收藏 所屬分類: 佛曰我日

          FeedBack:
          # re: 瘋了,是常態(tài)。
          2007-03-08 20:22 | Alpha

          哈哈……我看瘋了。。。

          文筆流暢瀟灑……

            回復(fù)  更多評論
            
          # re: 瘋了,是常態(tài)。
          2007-03-09 08:54 | 祎恬凡
          沒錯,文筆好,有古龍小說的風(fēng)采,散文功底  回復(fù)  更多評論
            
          # re: 瘋了,是常態(tài)。
          2007-06-09 22:09 | 游客
          兄弟,你這篇文章是轉(zhuǎn)貼的啊!

          最好請注明轉(zhuǎn)貼的出處!  回復(fù)  更多評論
            
          # re: 瘋了,是常態(tài)。
          2007-06-27 21:56 | 用delphi工作7年的工作者
          超級感謝!太謝謝你了大蝦替我解決大問題了。有機會請你吃香格里拉!  回復(fù)  更多評論
            
          # re: 瘋了,是常態(tài)。
          2007-07-28 11:37 | cyclamenkde
          thanks 解決了我和我同事的問題.  回復(fù)  更多評論
            
          # re: 瘋了,是常態(tài)。 [未登錄]
          2008-08-04 09:18 | binbin
          thanks ,作者很幽默  回復(fù)  更多評論
            
          主站蜘蛛池模板: 余干县| 体育| 平乐县| 宜良县| 茌平县| 包头市| 衡南县| 青浦区| 宝兴县| 丘北县| 新民市| 珲春市| 长垣县| 丰都县| 合山市| 洪湖市| 木里| 龙陵县| 绿春县| 河源市| 鱼台县| 东港市| 都安| 定边县| 樟树市| 乌兰浩特市| 贡觉县| 永康市| 新巴尔虎左旗| 彭水| 灵宝市| 保山市| 静海县| 大丰市| 潮安县| 遂宁市| 林芝县| 札达县| 称多县| 卢湾区| 镇江市|