|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
lazybaby
註冊時間: 2006-07-03 文章: 8
第 1 樓
|
發表於: 星期二 七月 04, 2006 12:25 am 文章主題: 苦命IT人 FOXPRO 2.5 ARRAY 菜鳥問題 |
|
|
原來的軟件公司已不知所踪 我是IT部攪NETWORK的(老板以為攪IT的什麼都懂)
就把這難題交給我了 沒有方法的話可慘了 這2天老板面色已滿黑的了
軟件是FOXPRO 2.5生成的APP檔(96年的) 公司要修正一报表
我用2.5打開PJX後改了其中一报表
想再生成APP檔 在轉換过程中出現了多個文件的ERROR
(例)
Program c:\2\salesret.prg has the following errors:
Unknown FOOT - Undefined
Screen Set c:\2\scrns\addret.spr has the following errors:
Unknown ITEMNO - Undefined
Unknown FOOT - Undefined
看了一下文件應是這里出了問題
"EXTERNAL ARRAY foot, new, null_new"
"EXTERNAL ARRAY foot, itemno"
思考了很久也在網上查了很多 ARRAY 数组 還是找不到方法解決
如何可找到 FOOT 和 itemno 這2個定義? (在文件中找不到有這2個文件)
本人專業是網絡的 對 FOXPRO一點點也不熟 各位見笑了.
(因對在下的工作前景有很大影響 可以的話就請各位出出手吧)
萬分激謝 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
發表於: 星期二 七月 04, 2006 10:19 am 文章主題: |
|
|
這個錯誤訊息是foxpro 在使用陣列前會先檢查這個陣列是否有在這個程序中定義過,
如果不是在這個程序中定義就會出現這種警告訊息,
只要是你確定在這個程序中使用的確實是陣列的話,
可以不用理會它. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
lazybaby
註冊時間: 2006-07-03 文章: 8
第 3 樓
|
發表於: 星期二 七月 04, 2006 11:46 am 文章主題: |
|
|
garfield 寫到: | 這個錯誤訊息是foxpro 在使用陣列前會先檢查這個陣列是否有在這個程序中定義過,
如果不是在這個程序中定義就會出現這種警告訊息,
只要是你確定在這個程序中使用的確實是陣列的話,
可以不用理會它. |
不理會不行 運行新生成的APP檔中會產生"SYNTAX ERROR"
"unrecognised phrase/keyword in command"和走位
我找到一文件 FOOTER
有
DIMENSION foot( maxrow, new_maxcol), itemno( maxrow)
DO load_arr
do &screen_prg
DO end_footer
RETURN
這几句
再試轉換过程時 我指向了此文件 但還出現了相同的ERROR
不解?
謝謝 garfield 大大 |
|
回頂端 |
|
|
catjoke
註冊時間: 2003-06-16 文章: 175 來自: 香港
第 4 樓
|
發表於: 星期三 七月 05, 2006 9:32 am 文章主題: |
|
|
你有沒有 把它備份, 原本的 app 檔案, 說不定有部份 程式被殺掉..
找找 ReFox 吧, 它可以把 app 檔的檔案還原, 檢查有沒有其他吧..
隨便改了便做 app, 你實在太大意了!
唉~ _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^0^; |
|
回頂端 |
|
|
lazybaby
註冊時間: 2006-07-03 文章: 8
第 5 樓
|
發表於: 星期四 七月 06, 2006 1:39 am 文章主題: |
|
|
catjoke 寫到: | 你有沒有 把它備份, 原本的 app 檔案, 說不定有部份 程式被殺掉..
找找 ReFox 吧, 它可以把 app 檔的檔案還原, 檢查有沒有其他吧..
隨便改了便做 app, 你實在太大意了!
唉~ |
用了ReFox 還是不行..... |
|
回頂端 |
|
|
JEFFWANG
註冊時間: 2004-03-03 文章: 40
第 6 樓
|
發表於: 星期四 七月 06, 2006 9:06 am 文章主題: |
|
|
找一找以前人的電腦,如果還有資料的話,根據經驗來說有時會將某一特殊功能以其他語言編譯,避免被反組譯,就算被反組譯了也不知道該模組的運作情形,以前常用C或MASM來做轉換資料用(也就是重新編碼資料),如果少了這部份就......當然還有一個最後的方法,根據系統的運作原則,重新寫一個就沒有以前的包袱了。 |
|
回頂端 |
|
|
catjoke
註冊時間: 2003-06-16 文章: 175 來自: 香港
第 7 樓
|
發表於: 星期四 七月 06, 2006 9:21 am 文章主題: |
|
|
JEFFWANG 寫到: | 找一找以前人的電腦,如果還有資料的話,根據經驗來說有時會將某一特殊功能以其他語言編譯,避免被反組譯,就算被反組譯了也不知道該模組的運作情形,以前常用C或MASM來做轉換資料用(也就是重新編碼資料),如果少了這部份就......當然還有一個最後的方法,根據系統的運作原則,重新寫一個就沒有以前的包袱了。 |
對~ 從重寫過最好!
IT 人最利害之處, 離職後, 九成以上另一個跟唔到而不能再用...
就算現在你要改, 也是整個 報表部份, 從零寫過!
已有的程式只是參考, 要維修/維護, 你要明白晒成個原理...
有毛病才可以針對錯誤而作出修正.
可惜我一開始已是 VFP, Dos 版的 foxpro 我也不太熟...
而我建議不使用 Array 來做 報表,
改用 Foxpro 強項: Table, Cursor...
? Print Header....
SCAN
? print out data...
? myTable.MyField
LineCount = LineCount + XXX
IF LineCount >= 56
? Print Footer~~
? Print (End of Page)
? Print Header~~
ENDIF
ENDSCAN
相對你會容易掌握和處理, 維修又比較容易.
你先將果張 報表程式碼, 打印佐出黎, 再係 Hardcopy 度追蹤..
會易過係 電腦睇, 因為你無 concept ~~ _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^0^; |
|
回頂端 |
|
|
bin1x
註冊時間: 2004-08-27 文章: 462
第 8 樓
|
發表於: 星期四 七月 06, 2006 10:25 am 文章主題: |
|
|
個人覺得
也許是變數可見性的問題
好像之前有人寫的,對於array 變數
常用的方法是傳址吧 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|