趙慶祺
(甘肅省天水市職業(yè)技術(shù)學(xué)校,甘肅 天水 741000)
在VFP數(shù)據(jù)庫編程中,我們經(jīng)過大量設(shè)計、編程、制作等系列工作,最后通過反復(fù)調(diào)試,編制完成了一個完整的VFP應(yīng)用系統(tǒng)。但此時我們主要通過應(yīng)用系統(tǒng)的主程序(主窗體)來執(zhí)行應(yīng)用系統(tǒng),給用戶帶來了極大的不便,而且最大的問題是,應(yīng)用系統(tǒng)必須在VFP環(huán)境下才能運行。為此,本文將系統(tǒng)介紹VFP數(shù)據(jù)庫編程中建立可執(zhí)行文件的方法和技巧。
在將VFP應(yīng)用程序編譯成.EXE文件之前,我們對項目文件要有全面的認識和掌握,必須做好編譯前必做的一些工作。
編程者需要建立應(yīng)用系統(tǒng)項目文件.PJX,其中包含數(shù)據(jù)庫、數(shù)據(jù)表、窗體文件等,此時所有窗體必須包含在項目文件中,如果有的窗體沒有在項目文件中,我們就必須把沒有包含的窗體加入到項目文件.PJX中去。然后,根據(jù)系統(tǒng)的設(shè)計來設(shè)置我們確定的主窗體,這點非常重要。
設(shè)置完數(shù)據(jù)庫和主窗體后,下一步工作是重新連編項目。單擊“連編”按鈕,進入“連編選項”窗口,選擇“重新連編項目”,確定即可。重新連編項目完成后,回到“項目管理器”,我們就會發(fā)現(xiàn),主窗體調(diào)用到的所有子窗體都已自動加入到項目文件.PJX中。此外,我們還發(fā)現(xiàn)主窗體調(diào)用到的所有報表文件、標簽文件也都自動加入到項目文件.PJX中。
主程序(主窗體)就是一個應(yīng)用系統(tǒng)剛開始要執(zhí)行的窗體。一般情況下,我們建立的第一個窗體默認為系統(tǒng)的主程序,其字體較粗,當然,我們可以根據(jù)設(shè)計需要來任意設(shè)置我們的主程序。
一個應(yīng)用系統(tǒng)的主程序不一定是窗體文件,程序文件.PRG、菜單文件.MNX都可以作為主程序。默認情況下,如果加入的第一個窗體文件不作為主程序,系統(tǒng)便會誤認為其它窗體文件為主程序。遇到這種情況,我們可以重新設(shè)置應(yīng)用系統(tǒng)的主程序,打開項目文件,在要設(shè)置的窗體文件上右擊,在彈出的快捷菜單中選取“設(shè)置主程序”選項,則此窗體文件名字體變粗,說明此窗體文件已被設(shè)置為主程序。
打開一個完整的應(yīng)用系統(tǒng)項目文件后,我們發(fā)現(xiàn)有些文件前帶有斜線的圓圈,這說明此文件已從項目中排除(Exclude),相反的,文件前沒有帶有斜線的圓圈說明文件是被項目包含(Include)的。這里我們必須清楚,被設(shè)置為包含(Include)的文件,將來在應(yīng)用系統(tǒng)編譯成可執(zhí)行文件.EXE時,會一起放入可執(zhí)行文件.EXE中,而設(shè)置為排除(Exclude)的文件,將來在應(yīng)用系統(tǒng)編譯成可執(zhí)行文件.EXE時,就不會放入可執(zhí)行文件.EXE中。一般情況下,數(shù)據(jù)庫、數(shù)據(jù)表加入項目時,會自動設(shè)置為排除(Exclude),而其它文件則會設(shè)置為包含(Include)。但數(shù)據(jù)庫、數(shù)據(jù)表都必須和可執(zhí)行文件.EXE一起交付給用戶。設(shè)置包含(Include)和排除(Exclude)的方法也很簡單,打開項目文件,在要設(shè)置的文件上右擊,在彈出的快捷菜單中選取包含或排除選項。
項目文件本身就是一個數(shù)據(jù)表格式的文件,VFP利用一個DBF文件的格式來保存應(yīng)用系統(tǒng)所包含的各類相關(guān)文件。項目文件.PJT是數(shù)據(jù)表說明文件,每當我們在項目文件中添加一個文件時,項目文件.PJX就增加一條相應(yīng)的記錄,當我們在項目文件中刪除一個文件時,項目文件.PJX就減少一條相應(yīng)的記錄。但默認情況下,刪除文件只做邏輯刪除,所以會留下大批加注刪除記號的記錄,造成存儲空間的浪費,因此我們要經(jīng)常整理項目文件,也就是對已刪除記錄做物理刪除。其方法是,利用項目菜單中的“清理項目”,便可整理項目。
VFP將應(yīng)用系統(tǒng)編譯生成可執(zhí)行文件.EXE后,編譯完成的可執(zhí)行文件.EXE在VFP中可通過調(diào)用DO命令來執(zhí)行,此時,不需要進入VFP就可以直接執(zhí)行。但由于通過“項目管理器”編譯生成的可執(zhí)行文件.EXE,并不是真正的可獨立執(zhí)行文件,所以不進入VFP執(zhí)行時,仍然必須要有VFP6R.DLL、VFP6RCHS.DLL兩個動態(tài)鏈接庫才能執(zhí)行。這兩個文件位于WINDOWSSYSTEM目錄里,但是用戶使用的VFP必須在完全安裝或自定義安裝時選取“Microsoft Visual FoxPro執(zhí)行階段”項目,這兩個文件才會生成。因此,我們要在沒有安裝VFP的PC上直接執(zhí)行可執(zhí)行文件.EXE時,WINDOWSSYSTEM目錄里必須要有VFP6R.DLL、VFP6RCHS.DLL兩個動態(tài)鏈接庫。
(1)打開項目文件,單擊“連編”按鈕,進入“連編選項”窗口,共有4個單選和2個復(fù)選選項。
1)選擇“重新連編項目”單選按鈕,系統(tǒng)會重新掃描編譯項目文件所包含的所有文件,如果發(fā)現(xiàn)主程序需要但沒有加入的文件,系統(tǒng)都會自動加入項目文件中。
2)選擇“連編應(yīng)用程序”單選按鈕,系統(tǒng)會將應(yīng)用系統(tǒng)編譯成.APP文件,系統(tǒng)會將項目文件所包含的所有文件自動加入項目文件中,但一定要通過VFP才能執(zhí)行,所以我們建議一般不要選擇此項。
3)選擇“連編可執(zhí)行文件”單選按鈕,系統(tǒng)會將應(yīng)用系統(tǒng)編譯成.EXE文件,并且可以不通過VFP便能執(zhí)行,所以我們一般選擇此項。
4)選擇“連編COM DLL”單選按鈕,系統(tǒng)會將應(yīng)用系統(tǒng)建立一個具有.DLL附加名稱的動態(tài)鏈接庫。
5)選擇“重新編譯全部文件”復(fù)選按鈕,系統(tǒng)編譯應(yīng)用系統(tǒng)編譯成.EXE文件時,是否重新編譯連編項目文件中的所有文件。此復(fù)選項在連編.EXE時,我們一般要選擇。
6)選擇“顯示錯誤信息”復(fù)選按鈕,在系統(tǒng)編譯應(yīng)用系統(tǒng)時,如果發(fā)現(xiàn)錯誤,會自動將錯誤信息保存在.ERR文件中。
(2)一般生成可執(zhí)行文件的過程
1)選擇“連編可執(zhí)行文件”單選按鈕;
2)選擇“重新編譯全部文件”復(fù)選按鈕;
3)選擇“顯示錯誤信息”復(fù)選按鈕;
4)按“版本”按鈕,彈出“EXE版本”窗口,我們輸入相應(yīng)的版本編號及其它信息。
5)輸入版本編號及其它信息后,選取“自動增加”復(fù)選框。按“確定”按鈕,彈出“另存為”窗口,輸入可執(zhí)行文件名,選擇保存路徑,按“保存”按鈕,便可自動建立可執(zhí)行文件。
通過上面步驟,我們利用應(yīng)用系統(tǒng)編譯成.EXE文件,此時,我們可以把.EXE文件、數(shù)據(jù)庫、數(shù)據(jù)表及VFP6R.DLL、VFP6RCHS.DLL拷貝到其它計算機的適當目錄。但是,這樣操作不但繁瑣,而且還不能保證應(yīng)用系統(tǒng)能正常執(zhí)行。這是因為如果我們利用安裝向?qū)Ы惭b程序的話,除了拷貝以上所有程序外,還會給應(yīng)用系統(tǒng)注冊多個.DLL與ActiveX文件,這是僅靠項目管理器無法完成的。
因此,我們把應(yīng)用系統(tǒng)編譯成.EXE文件完整移交給用戶時,一定要通過“安裝向?qū)А眮戆b應(yīng)用系統(tǒng),并且制作安裝磁盤,給用戶使用帶來很大的方便。利用“安裝向?qū)А笨蓭椭鷳?yīng)用系統(tǒng)制作一安裝程序,其中包含SETUP.EXE文件、信息文件和壓縮過的應(yīng)用程序文件。這樣,用戶拿到系統(tǒng)后,可以像使用其它軟件一樣,執(zhí)行SETUP.EXE進行安裝,然后去執(zhí)行應(yīng)用。
下面,我們利用“安裝向?qū)А眮碇谱靼惭b磁盤。
在使用“安裝向?qū)А敝谱靼惭b磁盤之前,我們首先要自己建立一目錄,稱為“分送目錄”,這個目錄用來存放要安裝到其它計算機的所有文件,一般包括:
(1)編譯好的.EXE文件
(2)數(shù)據(jù)庫、數(shù)據(jù)表、索引文件
(3)VFP的CONFIG.FPW組態(tài)文件
(4)VFP的資源文件(FOXUSER.DBF FOXUSER.FPT)
(5)ReadME.TXT說明文件
前兩種文件一定要放入“分送目錄”中,其它文件按自己設(shè)計的需要來確定,VFP的資源文件(FOXUSER.DBF FOXUSER.FPT)和ReadME.TXT說明文件是用來存儲窗口信息及說明文件?!胺炙湍夸洝敝锌梢允侨魏涡问剑踔量梢园幽夸?,但有一點必須注意,應(yīng)用系統(tǒng)的.EXE文件必須放在“分送目錄”的最上層,不能放在子目錄中。制作安裝磁盤的過程很簡單,只要按照向?qū)崾静僮骷纯赏瓿伞?/p>
經(jīng)過以上操作,我們完整地建立了可脫離VFP環(huán)境的可執(zhí)行文件,并且制作了安裝磁盤,進而導(dǎo)出了可脫離VFP環(huán)境運行的應(yīng)用程序文件,可以完整地交付給用戶,用戶可以像使用其它軟件一樣,執(zhí)行SETUP.EXE進行安裝,使應(yīng)用系統(tǒng)在脫離VFP的環(huán)境下也能正常運行,方便了用戶的使用。
參考文獻:
[1]曾軍,陳玲.V F P應(yīng)用程序如何生成可執(zhí)行文件的方法探討[J].電腦開發(fā)與應(yīng)用,2010(8):74-75.
[2]郭柱祥.學(xué)校固定資產(chǎn)清查的數(shù)據(jù)處理——基于V F P的程序設(shè)計[J].電腦知識與技術(shù),2015(3 X):3-4.