2013-08-22 30 views
-1

我想爲應用程序設置VFP的環境我試過SET DEFAULT & SET PATH TO我也嘗試將環境管理器用於prodject的所有目錄,但當我運行程序我必須使用查找對話框發現PROGRAME需要的文件,主要程序設置,我認爲環境,代碼如下設置用於調試的VFP IDE環境

CLOSE DATABASES ALL 
CLOSE TABLE ALL 
SET SYSMENU OFF 
SET STATUS OFF 
SET STATUS BAR OFF 
_VFP.autoyield = .F. 
IF FILE("c:\pb1\photobooth\photographer.exe") 
    SET DEFAULT TO c:\pb1\photobooth 
ELSE 
    ON ERROR DO FORM FORMS\errorfrm WITH ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO() 
ENDIF 
SET PATH TO ..\CommandBars\Redistr,..\wwclient\,..\sfquery,..\classes,..\wwclient\classes, c:\sdt\sdt\source,c:\sdt\sdt\,..\xfrx,..\xfrx\xfrxlib 
SET CLASSLIB TO (HOME()+"ffc\_reportlistener") 
SET PROCEDURE TO PROGS\procfile ADDITIVE 
SET PROCEDURE TO ..\xfrx\utilityreportlistener.prg ADDITIVE 
SET PROCEDURE TO wwUtils ADDITIVE 
SET PROCEDURE TO wwEval ADDITIVE 
SET PROCEDURE TO CodeBlockClass ADDITIVE <----- 
SET CLASSLIB TO wwIPStuff ADDITIVE 
SET CLASSLIB TO wwXML ADDITIVE 
SET PROCEDURE TO wwHTTP ADDITIVE 
SET PROCEDURE TO WWPOP3 ADDITIVE 
SET STATUS BAR ON 
SET DATE BRITISH 
SET DELETED ON 
SET SAFETY OFF 
SET MULTILOCKS ON 
ON KEY LABEL SHIFT+F1 gl_diag=!gl_diag 

我正在尋找一種方式來與運行程序出錯,以便我可以找出爲什麼該應用程序不會將所有數據解析爲XML文件。Tamar提供了一個goog指南來進行調試,我只需要運行該程序即可生成XML。錯誤從箭頭指示的位置開始

+0

你檢查路徑文件CodeBlockClass.PRG是否存在? –

+0

有趣。路徑上的文件夾列表全部用於第三方工具。第三方應用程序以外的應用程序的所有代碼是否位於單個文件夾中?如果沒有,您還需要將這些文件夾放入路徑中。 –

+0

我已經把它們放在使用SET PATH TO和使用環境管理器來使主程序工作的路徑中我已經將CodeBlockClass更改爲.. \ photobooth \ PROGS \ CodeBlockClass,因爲試圖調試的whilste我發現HOME()被設置爲c:\ PROGRAM FILES \ microsoft vfp \文件夾我已經完成了,但沒有發生我檢查路徑是否正確與?SET('Path')aslo試圖DISPLAY STATUS在環境管理器中設置所有被設置正確 –

回答

1

如果主程序正在設置環境,則可能會覆蓋部分設置,而不使用ADDITIVE關鍵字。在你的例子中,看起來像SET PATH和SET CLASSLIB就是這種情況。

例一 - 無添加劑

*--- Main program 
SET PATH TO "C:\VFP9" 

*--- Debug setup 
SET PATH TO "D:\Debug" 
?set('Path') 

Output: D:\Debug

例二 - 有添加劑

*--- Main program 
SET PATH TO "C:\VFP9" 

*--- Debug setup 
SET PATH TO "D:\Debug" ADDITIVE 
?set('Path') 

Output: D:\Debug;C:\VFP9

+1

我個人總是討厭「設置路徑」,因爲如果你有(意外),相同的文件名在不同的路徑(包括.dbf文件)中,並嘗試「使用」一個文件或創建一個類的實例,VFP會先查找哪個實例在路徑中,並且可能是您期望的錯誤版本。 – DRapp