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

參數傳遞的小問題

答題得分者是:Justmade
mylmhxbc
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-07 09:37:48 IP:203.73.xxx.xxx 未訂閱
請教各位大大... 我以 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 呼叫 function calcTotal(GetItem,GetPlace : String) : Integer; 為什麼發生 Too many actual parameters.....
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-07 09:48:32 IP:218.16.xxx.xxx 未訂閱
單看這兩行你的程式碼應是沒問題的... 會不會是你在源程式時手誤打錯字,post時重新打過打對了? 另你碼定錯誤是發生在你上面的第一行嗎? 若你對過沒問題,可否 copy 多一點的 Code 來看看
mylmhxbc
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-07 09:59:40 IP:203.73.xxx.xxx 未訂閱
引言: 請教各位大大... 我以 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 呼叫 function calcTotal(GetInOut,GetItem : String) : Integer; 為什麼發生 Too many actual parameters.....
Function TfmMyFood.calcTotal(GetInOut,GetItem : String) : Integer ; var sMoney : Integer; sDate : String; begin // 此段取得月初到今天 各項 總消費 sMoney := 0; sDate := sYear sMonth '0100' ; with qyTemp do begin close; SQL.Clear; SQL.Add('SELECT FoodNo,FoodDate,InOut,FoodSelect,FoodQty,FoodPrice'); SQL.Add('FROM Food'); SQL.Add('WHERE InOut = :InOut AND FoodSelect = :FoodSelect AND FoodNo >= :FoodNo'); ParamByName('InOut').AsString := GetInOut; ParamByName('FoodSelect').AsString := GetItem; ParamByName('FoodNo').AsString := sDate; Open; while not eof do begin sMoney := sMoney FieldByName('FoodQty').AsInteger; next; end; end; Result := sMoney; end;
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-07 10:23:07 IP:218.16.xxx.xxx 未訂閱
問題應出在呼叫那邊罷,若你確認 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 這句沒打錯且 Too many actual parameters 確定是出自這行那便真的怪怪的了... 另一個不相關的效率問題: 既然你使用 Params, SQL 本身沒變,應不用每次 Clear 再 Add, 只要重設 Param 後重開就可以了。
mylmhxbc
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-07 10:32:51 IP:203.73.xxx.xxx 未訂閱
引言: 問題應出在呼叫那邊罷,若你確認 edit1.text := IntToStr(calcTotal('銷貨','鉚釘')); 這句沒打錯且 Too many actual parameters 確定是出自這行那便真的怪怪的了... 另一個不相關的效率問題: 既然你使用 Params, SQL 本身沒變,應不用每次 Clear 再 Add, 只要重設 Param 後重開就可以了。 謝謝你.... 我知道錯在哪裡了... 這個程式是用現成的改的.. so 沒有注意到最上面定義function.. 本來是傳一個參數,, 後來又加了一 個.. 而最上行的定義忘了更改...
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-07 10:47:20 IP:218.16.xxx.xxx 未訂閱
這不是應該出現 decoration of xxx differs from previous decoration 的嗎? 可能是你呼叫的地方在被呼叫的地方之前罷 通常儘量把被呼叫的放前會容易 debug 一些,不過有時也是不可能的。 其實,你發理錯誤後 Ctrl-Click CalcTotal 會到上面的 decoration, 這樣便會最些發理問題了。
系統時間:2024-06-28 22:27:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!