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

IdHTTP 的 GET 問題 ...

答題得分者是:RaynorPao
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-07 23:34:20 IP:61.216.xxx.xxx 未訂閱
不好意思最近問題特別多,小弟利用 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-07 23:47:12 IP:61.221.xxx.xxx 未訂閱
引言: 不好意思最近問題特別多,小弟利用 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-07 23:49:13 IP:140.135.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-08 00:58:40 IP:61.216.xxx.xxx 未訂閱
請問 BCB 6 內建的版本是多少ㄋ,嗯小弟是用內建ㄉ,等網路有空的時候再來下載試試 
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-08 01:08:41 IP:61.221.xxx.xxx 未訂閱
引言: 請問 BCB 6 內建的版本是多少ㄋ,嗯小弟是用內建ㄉ,等網路有空的時候再來下載試試 < face="Verdana, Arial, Helvetica"> China Join 你好: BCB 6.0 內建的 Indy 元件的版本是 8.0 建議你去下載 9.0 來試試看吧 --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-08 13:46:10 IP:61.216.xxx.xxx 未訂閱
小弟依照 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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-08 14:03:54 IP:203.73.xxx.xxx 未訂閱
引言: 小弟依照 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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-08 14:21:30 IP:61.216.xxx.xxx 未訂閱
就是上面那個讀取圖檔的程式哪?程式一樣只有一行也會出問題    IdHTTP1->Get("http://home.pchome.com.tw/online/chjo/01.jpg");    Indy 官方網站上,小弟找到了一些 Bug 的回報也有提到這個  access vialation 的錯誤,我想可能和我電腦上的某些軟體造成衝突 因為小弟試的兩台電腦都裝一樣的軟體,所以 RaynorPao 請先別費心 目前正在重裝作業系統,我想給他一個乾淨的環境再試試,若真的不行 再說囉 ~  < > 一直勞煩您實在不好意思啊 < >
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-08 20:24:26 IP:61.216.xxx.xxx 未訂閱
在各位前輩的大力幫忙下,小弟的問題算是完成一半了,在那台剛安裝完成 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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-08 20:57:12 IP:61.221.xxx.xxx 未訂閱
引言: 在各位前輩的大力幫忙下,小弟的問題算是完成一半了,在那台剛安裝完成 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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-04-08 23:28:19 IP:61.216.xxx.xxx 未訂閱
RaynorPao 大人,小弟一開始就照您的指示一字不漏的設定喔 
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-04-08 23:52:27 IP:61.221.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-04-09 10:16:57 IP:61.216.xxx.xxx 未訂閱
呵 ~ RaynorPao 大大您真是認真,小弟佩服五體投地了,你說的對小弟原本設定 C:\indy\c6 在前面,然後設定為 DEFAULT,可是開這個專案後沒想到他又跑掉,我又忘了改,真是太粗心了,在您的幫忙之下這個問題終於可以結標了  感謝 >
系統時間:2024-05-09 4:35:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!