BCB直接開啟Word一問?? |
答題得分者是:aftcast
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
和位先進好: 小弟想利用一個Button1來直接開啟Word檔可是,會發生錯誤,以下 是小弟利用前輩的程式碼來編譯,可以請先進們幫我檢視一下嗎?? 謝謝!! bug的情形如下 http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102445 [code cpp] 請在此區域輸入程式碼 void __fastcall TService_1::Button5Click(TObject *Sender) { Variant V,D; if(OpenDialog2->Execute()) { V = CreateOleObject("Word.Application"); V.OlePropertySet("Visible",true); OpenDialog2->Execute(); D = V.OlePropertyGet("Documents"); D.OleFunction("Open" , OpenDialog2->FileName.c_str()); } }[/code]
------
努力往往是甘苦的!!一起勉勵 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
===================引 用 nokib2002 文 章=================== 和位先進好: ?? 小弟想利用一個Button1來直接開啟Word檔可是,會發生錯誤,以下 是小弟利用前輩的程式碼來編譯,可以請先進們幫我檢視一下嗎?? ? 謝謝!! bug的情形如下? http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102445 [code cpp] 請在此區域輸入程式碼 void __fastcall TService_1::Button5Click(TObject *Sender) { Variant V,D; ? if(OpenDialog2->Execute()) ? { ?? ??? V = CreateOleObject("Word.Application"); ??? V.OlePropertySet("Visible",true); ??? OpenDialog2->Execute(); ??? D = V.OlePropertyGet("Documents"); ??? D.OleFunction("Open" , OpenDialog2->FileName.c_str()); ? } }[/code]
------
努力往往是甘苦的!!一起勉勵
編輯記錄
nokib2002 重新編輯於 2011-04-18 17:58:16, 註解 無‧
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
看了一下你的錯誤,似乎是你run後,form也沒出來,button也沒按就掛點了…
我經驗覺得,問題不是在你開word的那段程式,而是別的地方。 建議在 BOM.cpp 裡 中斷這行 : Application->Initialize(); 往下追是死在哪個form,比如說死在form1,那就在 __fastcall TForm1::TForm1(TComponent* Owner) 下中斷 以上是run後就出問題,連個button也沒按的情形下去debug的方式。請參考!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
哇咧…
因我測過你寫的程式,我跑是正常的…唯一不同在於 OpenDialog2->Execute(); 這句話你在 if 上用了,為何裡面還要用一次? (我是沒有再用一次),是筆誤,還是真的又用了一次? 你的圖也剛好擋住了,看不到那段話。 ===================引 用 nokib2002 文 章=================== aftcast 前輩你好: 我的form 有出現,而是我按buttion1時出現OpenDialog1,都還正常 可是當我選word 時,就會出現這bug... 謝謝前輩的支援~
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
===================引 用 aftcast 文 章=================== 哇咧… 因我測過你寫的程式,我跑是正常的…唯一不同在於 OpenDialog2->Execute();?? 這句話你在 if 上用了,為何裡面還要用一次?? (我是沒有再用一次),是筆誤,還是真的又用了一次? 你的圖也剛好擋住了,看不到那段話。 ------------------------------------------------------------------------------------------- 我把OpenDialog2->Execute();前除了,那是筆誤~ 這是被擋到的部分, http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102445
------
努力往往是甘苦的!!一起勉勵 |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
我試都沒問題,你確認一下你這台電腦裝的是
word 幾版? 還是裝了很多版? 我的情形是 word 2003 版。 此外,試著把CreateObject,改成這樣的寫法 Variant::CreateObject 半猜測的,再試試吧。 ===================引 用 nokib2002 文 章=================== 請問如果沒有用OlePropertySet的方式寫 還有其他方式可以達到我的目的呢? 請各位大大為小弟解一下問題點,謝謝~
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2011-04-20 02:47:09, 註解 無‧
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
===================引 用 aftcast 文 章=================== 我試都沒問題,你確認一下你這台電腦裝的是 word 幾版?? 還是裝了很多版?? 我的情形是 word 2003 版。 此外,試著把CreateObject,改成這樣的寫法 Variant::CreateObject 半猜測的,再試試吧。 ===================引 用 nokib2002 文 章=================== 你好: 我的word是2003版的,我也利用新的project來測試,也是沒有問題, 可是在我的主要專案中,就是會跑出bug,想不出來為什麼會如此, 所以想參考其他的寫法,看是否能解決, 謝謝
------
努力往往是甘苦的!!一起勉勵 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
看來問題難解了,至少線上討論可能沒什麼結果。最後建議你一招…
開一個新project,然後逐一的把原專案的cpp等加入。每加入新的cpp之前,就compile並run一下會不會出事,若正常,則再加一個cpp,反複的直到找到問題的cpp 或是 完成一個"新的"專案! ===================引 用 nokib2002 文 章=================== 可是在我的主要專案中,就是會跑出bug,想不出來為什麼會如此, 所以想參考其他的寫法,看是否能解決, 謝謝
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
我有重新再開一個新的project,我利用我的程式也可以打開Word,
可是當我要跨平台時,卻出現vc160.bp1的訊息,我看版上資訊,可利用 linker和Packages中處理完,當然我的vc160.bp1也解決了,可是我再 一次執行我的Word時,卻出現 Access Violation at address 004B6CAF in module 'BOM.exe'.Read of address 00000800 怎麼會這樣???怎麼會有衝突呢??? 訊息的情形圖 http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102445
------
努力往往是甘苦的!!一起勉勵
編輯記錄
nokib2002 重新編輯於 2011-04-25 19:29:17, 註解 無‧
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,
你這問題還真不是很容易線上解決呢! 我認為很有可能是你的project裡或是bcb的安裝第三元件上,有package和原來的那個衝突。 不過,這問題線上恐不好解決。除非你願意把source code給我編看看… 如果你要自己再處理一下,就先確認一下你是否有安裝了第三方元件,而且可能與word,office之類的有關係。 或是你使用了元件盤上的word元件? 用ultraedit之類的可以把project檔打開,然後修改裡面的內容。把不要用package刪除後,再存檔。修改的時候,要記得bcb不能是開著的。 ===================引 用 nokib2002 文 章=================== 我有重新再開一個新的project,我利用我的程式也可以打開Word, 可是當我要跨平台時,卻出現vc160.bp1的訊息,我看版上資訊,可利用 linker和Packages中處理完,當然我的vc160.bp1也解決了,可是我再 一次執行我的Word時,卻出現 Access Violation at address 004B6CAF in module 'BOM.exe'.Read of address 00000800 怎麼會這樣???怎麼會有衝突呢??? 訊息的情形圖 http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102445
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
你好:
我有發現我是加了pdf.ocx這個二件,才會發生這個問題,我是灌Adobe Acrobat 6.0利用它的元件,來完成顯示的目的,我有測試了,確定是這個元件發生衝突 我的原始碼. http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102489
------
努力往往是甘苦的!!一起勉勵 |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
嗯,就如我所料的,你有import activex。
但這個 pdf ocx 有不少的問題,我查了國內外都有不少的問題在問,但都沒什麼解答。我指的不完全只要你問的這個,還有其他額外的問題。 而與你有極相似的問題在此 topic.csdn.net/t/20041025/16/3489420.html 但也無解。而我看了那麼多的問題後,我也決定不再去試它的可行性了,因為即使可以load進去,還會有一些什麼變空白,有的沒的問題。 我是建議你換個方式來用。但我對pdf在delphi/bcb上的應用不熟。若有相關熟的人,也許sryang會熟一點,你可以請教它人一下。 但至少知道,我們討論了半天的原因是這個 pdf 在搞鬼… ===================引 用 nokib2002 文 章=================== 你好: 我有發現我是加了pdf.ocx這個二件,才會發生這個問題,我是灌Adobe Acrobat 6.0利用它的元件,來完成顯示的目的,我有測試了,確定是這個元件發生衝突 我的原始碼. http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=102489
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
===================引 用 aftcast 文 章=================== 嗯,就如我所料的,你有import activex。 但這個 pdf ocx 有不少的問題,我查了國內外都有不少的問題在問,但都沒什麼解答。我指的不完全只要你問的這個,還有其他額外的問題。 而與你有極相似的問題在此 topic.csdn.net/t/20041025/16/3489420.html 但也無解。而我看了那麼多的問題後,我也決定不再去試它的可行性了,因為即使可以load進去,還會有一些什麼變空白,有的沒的問題。 我是建議你換個方式來用。但我對pdf在delphi/bcb上的應用不熟。若有相關熟的人,也許sryang會熟一點,你可以請教它人一下。 但至少知道,我們討論了半天的原因是這個 pdf 在搞鬼… 謝謝你的支援,不知道現在的pdf.是否有改善問題點,希望有前輩來指導我如何解決這問題,謝謝! 那如果我想直接利用Buttion1來打開視窗,ex.D://1111/222/333/中的所有檔案,也就是說我可以直接打開到333的視窗
------
努力往往是甘苦的!!一起勉勵
編輯記錄
nokib2002 重新編輯於 2011-04-27 18:00:59, 註解 無‧
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |