編譯與發(fā)布程序.ppt_第1頁(yè)
編譯與發(fā)布程序.ppt_第2頁(yè)
編譯與發(fā)布程序.ppt_第3頁(yè)
編譯與發(fā)布程序.ppt_第4頁(yè)
編譯與發(fā)布程序.ppt_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

上一次課講到主程序的功能、類(lèi)型、環(huán)境設(shè)置、事件處理及防止程序多次啟動(dòng)的方法。請(qǐng)同學(xué)們回顧這樣兩個(gè)問(wèn)題:,1.隱藏VFP窗口兩種方法是什么?,2. VFP開(kāi)始和結(jié)束事件處理的方法是什么?,使用代碼,在主程序中添加如下代碼:_Screen=.f. 建立Config.fpw文件,加入一行:SCREEN=OFF,VFP中開(kāi)始事件處理可以使用Read Events命令,操作系統(tǒng)在程序中將控制權(quán)交給用戶(hù),開(kāi)始處理用戶(hù)鍵盤(pán)、鼠標(biāo)等操作。退出系統(tǒng)時(shí)使用Clear Events 結(jié)束事件處理,將控制權(quán)交給系統(tǒng),系統(tǒng)開(kāi)始處理Read Events后面的命令。,上一次課主要學(xué)習(xí)的內(nèi)容,本章主要介紹如何減少程序錯(cuò)誤、測(cè)試調(diào)試程序、連編程序和發(fā)布程序。,第8章.編譯與發(fā)布程序,在VFP開(kāi)發(fā)過(guò)程中,測(cè)試與調(diào)試應(yīng)用程序是極其重要的步驟,是涉及到程序功能能否完整實(shí)現(xiàn)的關(guān)鍵。,8.1測(cè)試調(diào)試程序,進(jìn)行需求分析,設(shè)計(jì)分解功能模塊; 設(shè)計(jì)數(shù)據(jù)庫(kù),確定表、字段、表間關(guān)系、視圖; 創(chuàng)建項(xiàng)目; 創(chuàng)建數(shù)據(jù)庫(kù)、表、關(guān)系和視圖; 設(shè)計(jì)用戶(hù)界面和數(shù)據(jù)訪問(wèn)方法; 各模塊測(cè)試與調(diào)試; 創(chuàng)建主控程序; 整體測(cè)試與調(diào)試; 編譯與發(fā)布應(yīng)用程序。,8.1.1程序開(kāi)發(fā)步驟,1.語(yǔ)法錯(cuò)誤 數(shù)據(jù)類(lèi)型不匹配、拼寫(xiě)錯(cuò)誤、引號(hào)不當(dāng)、括號(hào)不匹配、變量名沖突、循環(huán)、分支命令不匹配。 處理:VFP一般可以檢測(cè)出錯(cuò)誤,并給出提示。 2.邏輯錯(cuò)誤 打開(kāi)不存在的表、超記錄范圍定位或讀寫(xiě)、程序進(jìn)入錯(cuò)誤分支。 處理:跟蹤程序執(zhí)行或插入臨時(shí)顯示語(yǔ)句檢查。 3.意外錯(cuò)誤 程序運(yùn)行環(huán)境變化、文件找不到等。 處理:在程序內(nèi)部完成文件的檢測(cè)等操作。,8.1.2錯(cuò)誤類(lèi)型及處理方法,在程序運(yùn)行期間,總有意想不到的情況出現(xiàn),只有語(yǔ)法錯(cuò)誤是可以通過(guò)編譯器發(fā)現(xiàn)并處理,邏輯錯(cuò)誤和意外錯(cuò)誤是編譯器無(wú)法發(fā)現(xiàn)的,這種錯(cuò)誤是不期望在程序中出現(xiàn)的??梢酝ㄟ^(guò)錯(cuò)誤處理程序,編程處理錯(cuò)誤。,8.1.3設(shè)置錯(cuò)誤處理,On Error 命令語(yǔ)句 功能:指定發(fā)生錯(cuò)誤時(shí)執(zhí)行的命令,使用不帶可選參數(shù)的 ON ERROR 命令可以恢復(fù)默認(rèn)的 VFP 錯(cuò)誤處理程序。 說(shuō)明:執(zhí)行此命令后,程序?qū)囊疱e(cuò)誤的程序行的下一行重新開(kāi)始執(zhí)行。但如果錯(cuò)誤處理過(guò)程中包含 RETRY,則重新執(zhí)行引起錯(cuò)誤的程序行。 通常情況下,ON ERROR 使用 DO 來(lái)執(zhí)行一個(gè)錯(cuò)誤處理過(guò)程。,.錯(cuò)誤處理命令格式,ERROR()-返回最近一次錯(cuò)誤的編號(hào)。必須有一個(gè) ON ERROR 例程處于活動(dòng)狀態(tài),才能使其返回非零值??捎?RETURN 或 RETRY 命令重置該函數(shù)的返回值。 MESSAGE()-以字符串形式返回當(dāng)前錯(cuò)誤信息 MESSAGE(1)-返回導(dǎo)致錯(cuò)誤的程序行內(nèi)容 PROGRAM()-返回當(dāng)前正在執(zhí)行的程序的名稱(chēng),或者錯(cuò)誤發(fā)生時(shí)所執(zhí)行的程序的名稱(chēng)。 LINENO(1)-返回相對(duì)于當(dāng)前程序或過(guò)程第一行的行號(hào)。若省略參數(shù) 1,則返回相對(duì)于主程序第一行的行號(hào)。,.錯(cuò)誤處理相關(guān)函數(shù),ON ERROR DO errhand WITH ; ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO() * 下一行將造成一個(gè)錯(cuò)誤 * USE nodatabase ON ERROR & 恢復(fù)系統(tǒng)錯(cuò)誤處理程序 PROCEDURE errhand PARAMETER merror, mess, mess1, mprog, mlineno CLEAR ? 錯(cuò)誤號(hào): + LTRIM(STR(merror) ? 錯(cuò)誤信息: + mess ? 錯(cuò)誤代碼: + mess1 ? 錯(cuò)誤行號(hào): + LTRIM(STR(mlineno) ? 發(fā)生錯(cuò)誤的程序名: + mprog,.錯(cuò)誤處理示例,備份原始文件; 檢查介質(zhì)完整性; 隔離測(cè)試環(huán)境; 將應(yīng)用程序分割成單獨(dú)工作模塊; 保護(hù)內(nèi)存變量; 不要對(duì)運(yùn)行環(huán)境進(jìn)行假設(shè); 逐步測(cè)試。,8.1.4減少錯(cuò)誤的方法,在VFP中調(diào)試程序可以使用調(diào)試器。調(diào)試器功能: 使用“跟蹤”窗口查看正在執(zhí)行的程序; 使用“監(jiān)視”窗口顯示當(dāng)前程序、過(guò)程或方法中可見(jiàn)的變量、數(shù)組、對(duì)象及對(duì)象成員,顯示表達(dá)式及其當(dāng)前值,可在表達(dá)式上設(shè)置斷點(diǎn); 使用“調(diào)用堆?!憋@示正在執(zhí)行的程序、過(guò)程、方法; 使用“調(diào)試輸出”窗口顯示程序中指定調(diào)試的輸出。,8.1.5調(diào)試程序,確認(rèn)程序運(yùn)行無(wú)誤后就可以編譯應(yīng)用程序,編譯應(yīng)用程序也可以作為系統(tǒng)整體測(cè)試的一部分。編譯時(shí)VFP從主程序開(kāi)始檢查程序中各調(diào)用的程序、表單、菜單、工具欄和報(bào)表是否存在。,8.2連編程序,步驟:激活項(xiàng)目管理器-菜單:項(xiàng)目-項(xiàng)目信息。 可以設(shè)置的項(xiàng)目信息:作者、單位、地址、附加圖標(biāo)。設(shè)置的附加圖標(biāo)將替換應(yīng)用程序默認(rèn)的FOX圖標(biāo)。,8.2.1設(shè)置項(xiàng)目信息,在應(yīng)用程序的初始化部分包含:Set Debug off 在項(xiàng)目信息設(shè)置中,選中“加密”項(xiàng) 在項(xiàng)目管理器中單擊連編鈕,在打開(kāi)的連編選項(xiàng)對(duì)話框中選擇“重新編譯全部文件” 注意:進(jìn)行上述操作前,應(yīng)先保存好源程序副本。,8.2.2保護(hù)源程序,在項(xiàng)目管理器中單擊“連編”鈕,打開(kāi)“連編選項(xiàng)”對(duì)話框??蛇M(jìn)行的操作有: 重新連編項(xiàng)目; 連編應(yīng)用程序; 連編可執(zhí)行文件;選擇該項(xiàng)可以按“版本”鈕設(shè)置版本信息 連編COM DLL。,8.2.3文件包含與排除,將程序連編成可執(zhí)行程序后,要將程序發(fā)布給用戶(hù)。,8.3發(fā)布程序,發(fā)布程序需要的文件: 可執(zhí)行程序和數(shù)據(jù)庫(kù)文件; VFP運(yùn)行庫(kù)文件(VFP6R.dll和VFP6RCHS.DLL); 使用的外部庫(kù)或COM組件文件。,8.3.1準(zhǔn)備文件,安裝向?qū)Э梢詾橛脩?hù)創(chuàng)建一個(gè)安裝例程,包含一個(gè)Setup.exe、信息文件、壓縮或非壓縮應(yīng)用程序文件。最后得到一組可以存儲(chǔ)在盤(pán)上或Web站點(diǎn)上的文件??梢杂盟癜惭bWindows應(yīng)用程序一樣的安裝應(yīng)用程序。,8.3.2了解安裝向?qū)?創(chuàng)建Wzsetup.ini,包含安裝向?qū)?duì)該發(fā)布樹(shù)的設(shè)置的各選項(xiàng); 確保運(yùn)行發(fā)布的應(yīng)用程序所需的所有文件隨應(yīng)用程序一起發(fā)布; 把壓縮過(guò)的文件復(fù)制到位于發(fā)布磁盤(pán)目錄中的子目錄下; 創(chuàng)建兩個(gè)安裝文件Setup.inf、Setup.stf用于指定安裝參數(shù); 創(chuàng)建DkContrl.dbf和DkContrl.cdx,包含文件壓縮并指定給哪個(gè)磁盤(pán)子目錄的統(tǒng)計(jì)信息。,.安裝向?qū)Р僮鞑襟E,步驟: 菜單:工具-向?qū)?安裝。,8.3.3使用“安裝向?qū)А?設(shè)置發(fā)布樹(shù)目錄。,步驟1.定位文件,提供了6種組件供選擇。人力資源系統(tǒng)還要選擇ActiveX控件,添加Microsoft Status Bar控件.,步驟2.指定組件,選擇網(wǎng)絡(luò)安裝(非壓縮)。,步驟3.磁盤(pán)映象,設(shè)置安裝時(shí)的選項(xiàng)。,步驟4.安裝選項(xiàng),可設(shè)置或更改目錄。,步驟5.默認(rèn)目標(biāo)目錄,設(shè)置文件安裝位置,是否注冊(cè)ActiveX控件。,步驟6.改變文件設(shè)置,單擊完成按鈕后開(kāi)始創(chuàng)建安裝程序。,步驟7.完成,完成后可以到發(fā)布目錄中找到安裝映象文件。其中的Setup.exe為安裝文件??梢酝ㄟ^(guò)光盤(pán)等存儲(chǔ)介質(zhì)制作安裝盤(pán)。,.安裝文件,主要介紹了如何減少程序錯(cuò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論