Format '%s' invalid or incompatible with argument 的問題 |
答題得分者是:GrandRURU
|
younger98
一般會員 發表:2 回覆:4 積分:1 註冊:2010-11-17 發送簡訊給我 |
小弟目前將手邊的Delphi 5程式轉換為Delphi XE版本,遇到了下面的問題
我在Frame裡放了一個TDataSource(名稱為QuotationMDS) 這個DataSource用來顯示一些DBText 在DataSource的BeforeGetRecord事件內撰寫下面的程式 [code delphi] procedure TTool2.QuotationMCBeforeGetRecords(Sender: TObject; var OwnerData: OleVariant); begin OwnerData := VarArrayOf([Person,QuotationFrame.InputEdit.Text,QuotationFrame.vOwnerData]); end; [/code] 執行完這行後出現下面的錯誤訊息: Project Project1.exe raised exception class EOleException with message 'Format '%s' invalid or incompatible with argument'. 因為是三層式架構,所以有先在server端程式確認過DataSetProvider確實有取得資料並回傳至Client端 但不知為何在BeforeGetRecord事件後,就出現錯誤訊息 描寫得滿模糊的,不過希望各位先進建議小弟debug的方向 先謝謝啦! |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
我沒有辦法還原大大所說的問題
目前測試的環境是 Delphi 2010 (沒有XE,但應該是差不多) TDatabase TTable TDataSetProvider TClientDataSet 測試的資料庫是 BDE 內建的 DBDemos 測試code就比較陽春了 [code delphi] procedure TForm1.ClientDataSet1BeforeGetRecords(Sender: TObject; var OwnerData: OleVariant); begin OwnerData := VarArrayOf([DBEdit1.Text]); end; [/code] 放了幾個中文字,也沒有出現大大說的問題 還請大大再詳述些,謝謝。 |
younger98
一般會員 發表:2 回覆:4 積分:1 註冊:2010-11-17 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
你可以試著把有問題的TABLE內的資料匯出到PARADOX後,再用上述的測試方式嘗試看會不會也有相同的問題
或是採用單筆讀取的方式試試看,是否每一筆都會出現相同的錯誤 ===================引 用 younger98 文 章=================== 原本以為是在顯示資料時的format出現問題 所以我試過把TClientDataSet裡的欄位全部刪除後 再連至TDataSetProvider後重抓 但這個問題還是存在 另外GrandRURU測試的方式,我也自己測了一下 是可以正常執行的 專案裡面也有許多程式是用這種寫法來做的 也都可以正常執行 就只有這支程式在執行後會出現這個問題 歡迎大家一起討論可能出現問題的原因 謝謝! |
younger98
一般會員 發表:2 回覆:4 積分:1 註冊:2010-11-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |