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

XMLDocument1的問題

答題得分者是:wameng
angler57
一般會員


發表:2
回覆:3
積分:1
註冊:2005-05-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-01 08:34:36 IP:61.219.xxx.xxx 訂閱
請問一下
我使用XMLDocument1.LoadFromFile()這個方法開啟一個XML檔案
並放在try裡面
程式碼如下
try
XMLDocument1.LoadFromFile('D:\Info\infoxmlBig5.xml');
except
Go := False;
Exit;
end;
這個程序每5分鐘會執行一次
因為infoxmlBig5.xml也是會每3-5分鐘更新一次
剛開始執行時都很正常
但是一段時間後(通常7,8個小時之後)就會出現錯誤
錯誤訊息是跳出一個小視窗
內容為"Line: 0"
請問有人遇過這樣的問題嗎?
可否請教如何解決?
謝謝

mike0518
一般會員


發表:1
回覆:12
積分:7
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-15 17:25:56 IP:60.28.xxx.xxx 訂閱
i think you should lock the XML file first .... then Load the File
angler57
一般會員


發表:2
回覆:3
積分:1
註冊:2005-05-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-16 06:15:17 IP:210.241.xxx.xxx 訂閱
thanks for your answer and could you tell me how to lock the XML file. Thanks again.
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-20 18:15:56 IP:61.222.xxx.xxx 訂閱
沒試過?

根據 Mike 所言,表示在LoadFromFile 時所取得檔案資料是不完整的。

可使用下述方法先檢測 檔案是否正在寫入。若是將引發例外錯誤。

TempStream := TFileStream.Create('D:\Info\infoxmlBig5.xml', fmOpenRead fmShareDenyWrite);
TempStream.Free;

亦可配合使用 LoadfromStream (我不清除是否有此方法。)
當然照舊亦可。

編輯記錄
wameng 重新編輯於 2007-06-20 19:25:48, 註解 無‧
系統時間:2024-04-28 20:11:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!