Debugging 设置用于调试的VFP IDE环境

Debugging 设置用于调试的VFP IDE环境,debugging,foxpro,visual-foxpro,Debugging,Foxpro,Visual Foxpro,我正在尝试为一个应用程序设置VFP环境,我尝试将默认设置和设置路径设置为,我也尝试将环境管理器用于产品的所有目录,但当我运行程序时,我必须使用“定位”对话框来查找程序所需的文件,我认为主程序会设置环境,代码如下所示 CLOSE DATABASES ALL CLOSE TABLE ALL SET SYSMENU OFF SET STATUS OFF SET STATUS BAR OFF _VFP.autoyield = .F. IF FILE("c:\pb1\photobooth\p

我正在尝试为一个应用程序设置VFP环境,我尝试将默认设置和设置路径设置为,我也尝试将环境管理器用于产品的所有目录,但当我运行程序时,我必须使用“定位”对话框来查找程序所需的文件,我认为主程序会设置环境,代码如下所示

 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
关闭所有数据库
全部关闭表格
关闭系统菜单
抵消地位
关闭状态栏
_VFP.autoyield=.F。
IF文件(“c:\pb1\photobooth\photopher.exe”)
将默认设置为c:\pb1\photobooth
其他的
错误时,执行表单\errorfrm,其中包含错误()、消息()、消息(1)、程序()、行号()
恩迪夫
将路径设置为..\CommandBars\Redistr、..\wwclient\、..\sfquery、..\classes、..\wwclient\classes、c:\sdt\sdt\source、c:\sdt\sdt\、..\xfrx、..\xfrx\xfrxlib
将CLASSLIB设置为(HOME()+“ffc\\u reportlistener”)
将过程设置为PROGS\procfile ADDITIVE
将过程设置为..\xfrx\utilityreportlistener.prg
将过程设置为wwUtils加法
将程序设置为wwEval

将过程设置为CodeBlockClass ADDITIVE如果主程序正在设置环境,则可能会通过不使用ADDITIVE关键字来覆盖某些设置。在您的示例中,SET PATH和SET CLASSLIB的情况似乎就是这样

示例一-不含添加剂

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

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

示例二-使用添加剂

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

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

输出:D:\Debug;C:\VFP9

您是否检查了路径中是否存在CodeBlockClass.PRG文件?很有意思。路径上的文件夹列表全部用于第三方工具。除了第三方的东西,应用程序的所有代码都在一个文件夹中吗?如果没有,您也需要将这些文件夹放到路径中。我已使用SET path to将它们放到路径中,并使用Environment Manager使主程序正常工作。我已将CodeBlockClass更改为..\photobooth\PROGS\CodeBlockClass,因为在尝试调试时,我找到了HOME()在我完成的教程中设置为c:\PROGRAM FILES\microsoft vfp\文件夹,但没有发生。我用?set('path')检查路径是否正确另外,我还尝试了在ENVIRONMENT MANAGER中设置的显示状态。所有设置都正确。在我急于开始调试时,Orry Tanar是raedy小姐。你今天说的是什么?我已经检查了所有内容,并注意到所有目录中都有文件。我还注意到没有称为程序的目录,因此我修改了主程序上面提到的Tamar我犯了一个基本错误,我错误地认为IDE会保留我设置的参数的设置路径,但是当我在上用?SET(“PATH”)检查时,我只返回到主程序的第12行,所以我现在已经注释掉了第12行,希望我能阅读你关于调试的论文并使用它,我个人一直很讨厌“设置路径”是因为如果(偶然)在不同的路径(包括.dbf文件)中有相同的文件名,并尝试“使用”一个文件,或创建一个类的实例,VFP会在路径中首先找到哪个实例,并且可能是您期望的错误版本。