【问题标题】:setting up VFP IDE environment for debugging设置用于调试的 VFP IDE 环境
【发布时间】:2013-08-22 18:18:21
【问题描述】:

我正在尝试为我尝试设置默认值和设置路径的应用程序设置 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

我正在寻找一种没有错误地运行程序的方法,以便我可以找出应用程序没有将所有数据解析为 XML 文件的原因 Tamar 提供了一个 goog 调试指南,我只需要运行程序即可生成 XML 的点。错误从箭头指示的点开始

【问题讨论】:

  • 你检查过路径中是否存在文件CodeBlockClass.PRG吗?
  • 有趣。路径上的文件夹列表全部用于第三方工具。除了第三方的东西之外,应用程序的所有代码都在一个文件夹中吗?如果没有,您还需要将这些文件夹放入路径中。
  • 我已使用 SET PATH TO 将它们放在路径中,并使用 Environment Manager 使主程序运行我已将 CodeBlockClass 更改为 ..\photobooth\PROGS\CodeBlockClass 因为在尝试调试时我发现HOME() 在我完成的教程中设置为 c:\PROGRAM FILES\microsoft vfp\ 文件夹,但没有发生我用 ?SET('Path') 检查路径是否正确,还尝试了在 ENVIRONMENT 中设置的 DISPLAY STATUS MANAGER 全部设置正确
  • 对不起,我急于开始调试的 Tanar 是您今天所说的 raedy 小姐我已经审查了所有内容并注意到所有包含文件的目录我还注意到没有名为程序的目录所以我已经修改了上面的主程序
  • 嗨 Tamar 我犯了一个根本性错误,我错误地认为 IDE 会保留我设置的 SET PATH TO 参数,但是当我使用 ?SET("path") 检查时才重新上线主程序的 12 行,所以我现在已经注释掉了第 12 行,所以希望我可以阅读你关于调试的论文并把它使用 Cheers

标签: debugging foxpro visual-foxpro


【解决方案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

示例二 - 使用 ADDITIVE

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

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

Output: D:\Debug;C:\VFP9

【讨论】:

  • 我个人一直讨厌“SET PATH”,因为如果您(偶然)在不同的路径(包括 .dbf 文件)中拥有相同的文件名,并尝试“使用”一个文件,或者创建一个类的实例,VFP 会在路径中找到第一个实例,并且可能是您期望的错误版本。
猜你喜欢
  • 2018-04-10
  • 1970-01-01
  • 2018-04-05
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 2019-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多