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