我要把PB8.0的程式升級到PB11.5,可,編譯時有以下錯誤:
*************************************************以下8.0原代碼************************************************
// Function: uf_expand
// Parameter: (string unit, string depno, ref expand[])
// Return: integer
// Description: 將指定部門下的所有子階部門展開傳回
long ll_children, ll_n, ll_b, ll_row, ll_child, ll_children[]
string ls_sql, ls_depno
ls_sql = "select depno, children from misdept where (facno = ?) and (uplevel = ?)"
declare cur_dep dynamic cursor for sqlsa ;
prepare sqlsa from :ls_sql ;
open dynamic cur_dep using :unit, :depno ;
ll_row = 0
ll_n = UpperBound(expand)
ll_b = ll_n
fetch cur_dep into :ls_depno, :ll_child ;
do while sqlca.sqlcode = 0
ll_n += 1
ll_row += 1
expand[ll_n] = ls_depno
ll_children[ll_row] = ll_child
fetch cur_dep into :ls_depno, :ll_child ;
loop
close cur_dep ;
for ll_n = 1 to UpperBound(ll_children)
if ll_children[ll_n] > 0 then
this.uf_expand(unit, expand[ll_b + ll_n], expand)
end if
next
return UpperBound(expand)
*************************************************以上8.0原代碼************************************************
以下是錯誤資訊:
---------- Compiler: Errors (18:37:39)
xxx.pbl(n_aaa).n_org_mislib.uf_expand.11: Error C0081: Duplicate variable: ll_children
xxx.pbl(n_aaa).n_org_mislib.uf_expand.28: Error C0069: Subscripted expression not an array
xxx.pbl(n_aaa).n_org_mislib.uf_expand.34: Error C0116: Reference argument type does not match function definition: upperbound
---------- Finished Errors (18:37:39)
請問這是什么問題呢?
uj5u.com熱心網友回復:
先注釋掉,編譯成功后再取消注釋試試看uj5u.com熱心網友回復:
剛試了,還是不行...唉,煩死我了!郁悶了一天,想不出什么問題
uj5u.com熱心網友回復:
ll_children[],ll_children命名重復,不要把資料變數和一般的變數命名成同樣的名稱,因為有些地方,如函式之類的,可以把資料組ll_children[] 直接寫成 ll_childrenuj5u.com熱心網友回復:
ll_children宣告在ll_children[]前,所以所有ll_children的地方都認為是long型別的變數了,而不會認為是long型別的陣列uj5u.com熱心網友回復:
long ll_children, ll_n, ll_b, ll_row, ll_child, ll_children[]這里的定義pb8也會報錯
定義了兩個 ll_children 一個不是陣列,一個是陣列
直接導致Error C0081: Duplicate variable: ll_children
由于這個問題 進而導致下面的兩個錯誤
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/89256.html
標籤:腳本語言
上一篇:PB中可以使用.NET 組件嗎?
下一篇:如何做這樣的對話框視窗
