IdHTTP 的 GET 問題 ... |
答題得分者是:RaynorPao
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
不好意思最近問題特別多,小弟利用 INDY 的 HTTP 元件,下載圖片老是導致程式當掉,不知道各位前輩們有沒有遇到過同樣的問題ㄋ... 簡化到下面這一行,仍會導致程式無回應(大約執行 3 ~ 10 次當一次),所有屬性都沒有動,FORM 只放一個 Button 和 IdHTTP 元件 ...,程式有把檔案下載到一半然後才會斷掉 ... IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg"); 以下為簡化之前 ... But 上下兩者都會有一樣ㄉ問題 ... TMemoryStream *ms=new TMemoryStream;
TJPEGImage *jpg=new TJPEGImage;
IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg", ms);
ms->Position=0;
jpg->LoadFromStream(ms);
Image1->Stretch=true;
Image1->Picture->Assign(jpg);
delete jpg;
delete ms;
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 不好意思最近問題特別多,小弟利用 INDY 的 HTTP 元件,下載圖片老是導致程式當掉,不知道各位前輩們有沒有遇到過同樣的問題ㄋ... 簡化到下面這一行,仍會導致程式無回應(大約執行 3 ~ 10 次當一次),所有屬性都沒有動,FORM 只放一個 Button 和 IdHTTP 元件 ...,程式有把檔案下載到一半然後才會斷掉 ... IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg"); 以下為簡化之前 ... But 上下兩者都會有一樣ㄉ問題 ... Button1->Enabled=false; TMemoryStream *ms=new TMemoryStream; TJPEGImage *jpg=new TJPEGImage; IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg", ms); ms->Position=0; jpg->LoadFromStream(ms); Image1->Stretch=true; Image1->Picture->Assign(jpg); delete jpg; delete ms; Button1->Enabled=true;China Join 你好: 你的程式碼我已經測試過 10 次,並不會當掉耶 請問你的 > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
China Join您好:
我猜是不是版本的問題??
http://delphi.ktop.com.tw/topic.php?topic_id=24937
根據RaynorPao版主的經驗應該是要用
Indy 9.0.11http://www.indyproject.org/dowload/Indy9.html
安裝的方式可參考
http://delphi.ktop.com.tw/topic.php?topic_id=25182 順心 發表人 -
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
小弟依照 RaynorPao 版主提供的方法安裝 Indy 0911 版,可是執行時會出現 access vialation at address "0040BF69 in module 'Project1.exe'.Read of address 00000000' 的錯誤訊息,程式執行到 IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg"); 就出問題ㄌ了,我試了兩台電腦結果都會出現這個錯誤,步驟也 CHACK 過了沒有錯誤,真是奇怪耶 ...
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 小弟依照 RaynorPao 版主提供的方法安裝 Indy 0911 版,可是執行時會出現 access vialation at address "0040BF69 in module 'Project1.exe'.Read of address 00000000' 的錯誤訊息,程式執行到 IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg"); 就出問題ㄌ了,我試了兩台電腦結果都會出現這個錯誤,步驟也 CHACK 過了沒有錯誤,真是奇怪耶 ...China Join 你好: 如果可以的話,請把你的 project 上傳至「會員求助程式檔案上傳區」 http://delphi.ktop.com.tw/forum.asp?FORUM_ID=97 幫你看一看 --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
就是上面那個讀取圖檔的程式哪?程式一樣只有一行也會出問題 IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg"); Indy 官方網站上,小弟找到了一些 Bug 的回報也有提到這個
access vialation 的錯誤,我想可能和我電腦上的某些軟體造成衝突
因為小弟試的兩台電腦都裝一樣的軟體,所以 RaynorPao 請先別費心
目前正在重裝作業系統,我想給他一個乾淨的環境再試試,若真的不行
再說囉 ~ < > 一直勞煩您實在不好意思啊 < >
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
在各位前輩的大力幫忙下,小弟的問題算是完成一半了,在那台剛安裝完成 XP 系統的電腦上安裝 BCB6 然後安裝 INDY 9011 再重寫程式,就可以直接執行了,亦沒有在 INDY 8 上所產生的問題。 但其實問題相當的複雜: 1.在新系統上載入原本 INDY8 所編譯的存檔,然後將 INDY8 原件換成 9,執行時仍顯示錯誤訊息(access vialation ...)。 2.另一台電腦(未重裝系統)上所編譯的執行檔,拿到新系統上的這台電腦上執行亦顯示錯誤訊息(access vialation ...)。 3.在新系統上編譯好並執行無誤的執行檔拿到,那台未重裝系統的電腦上執行,會發生和 INDY8.0 版
相同的錯誤,也就是執行時偶爾會當掉。 4.在新系統上的存檔拿到舊系統(未重裝系統)的電腦上,載入並執行,不會有 9.0 安裝時的錯誤,但 是會有 8.0 版偶爾會當掉的問題。 綜合上面幾點得到下面結論: INDY 所產生偶爾會當掉的問題似乎和版本無關,而是可能和某些軟體相衝突(也可能是記憶體的關係)或者他還是有 BUG,另一方面 9.0 版安裝後所產生的問題應該是和 BCB 的檔案結構有關,因為系統似乎將 8.0 元原件的結構(某些屬性或事件)保留下來,但是我們將 INDY 升級為 9.0 ,但 BCB 卻用 8.0 的方式載入,所以會產生錯誤(當然小弟已經將原件換成新版了,並且試過 換原件、存檔、執行的各種排列組合結果都是不行!) 但是以上存屬猜測,搞了一整天又重裝電腦,問題卻越來越多ㄌ,實在沒辦法ㄌ,小弟只好把程式放上來,請您有空幫忙看一下囉。
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 在各位前輩的大力幫忙下,小弟的問題算是完成一半了,在那台剛安裝完成 XP 系統的電腦上安裝 BCB6 然後安裝 INDY 9011 再重寫程式,就可以直接執行了,亦沒有在 INDY 8 上所產生的問題。 但其實問題相當的複雜: 1.在新系統上載入原本 INDY8 所編譯的存檔,然後將 INDY8 原件換成 9,執行時仍顯示錯誤訊息(access vialation ...)。 2.另一台電腦(未重裝系統)上所編譯的執行檔,拿到新系統上的這台電腦上執行亦顯示錯誤訊息(access vialation ...)。 3.在新系統上編譯好並執行無誤的執行檔拿到,那台未重裝系統的電腦上執行,會發生和 INDY8.0 版 相同的錯誤,也就是執行時偶爾會當掉。 4.在新系統上的存檔拿到舊系統(未重裝系統)的電腦上,載入並執行,不會有 9.0 安裝時的錯誤,但 是會有 8.0 版偶爾會當掉的問題。 綜合上面幾點得到下面結論: INDY 所產生偶爾會當掉的問題似乎和版本無關,而是可能和某些軟體相衝突(也可能是記憶體的關係)或者他還是有 BUG,另一方面 9.0 版安裝後所產生的問題應該是和 BCB 的檔案結構有關,因為系統似乎將 8.0 元原件的結構(某些屬性或事件)保留下來,但是我們將 INDY 升級為 9.0 ,但 BCB 卻用 8.0 的方式載入,所以會產生錯誤(當然小弟已經將原件換成新版了,並且試過 換原件、存檔、執行的各種排列組合結果都是不行!) 但是以上存屬猜測,搞了一整天又重裝電腦,問題卻越來越多ㄌ,實在沒辦法ㄌ,小弟只好把程式放上來,請您有空幫忙看一下囉。China Join 你好: 你好像沒有看清楚這篇連結文章中的說明喔 > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: RaynorPao 大人,小弟一開始就照您的指示一字不漏的設定喔 >>< face="Verdana, Arial, Helvetica"> China Join 你好: 可是~~開啟你上傳的 Project 裡面,我檢查了一下設定 在 Project/Options, Directories/Conditionals TAB Include Path 這個欄位裡面的字串是 $(BCB)\include;$(BCB)\include\vcl;C:\Indy\C6(這樣是不對的) C:\Indy\C6;$(BCB)\include;$(BCB)\include\vcl(要改成這樣子) Library Path 這個欄位裡面的字串是 $(BCB)\lib\obj;$(BCB)\lib;C:\Indy\C6(這樣是不對的) C:\Indy\C6;$(BCB)\lib\obj;$(BCB)\lib(要改成這樣子) 建議你自己再檢查一次好嗎?? --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |