VFP中的“.prg”文件在运行时,提示不能存取文件,该如何解决?
请问有谁知道遇到这种问题时,应该如何解决?
VFP在打开、修改其它文件却没有出现过这样的问题。
回答者“welland” 说:程序运行了两次,在命令窗口on erro 显示错误,第一次运行的程序在挂起状态,不能保存。
我在VFP里面输入了命令“on error”的确有用,但是这只是针对当前程序的运行在当前状态下不会出现“不能存取文件”的提示,对其它新打开的程序文件编辑后再保存就无能为力了,我想要让VFP一直都能好好地进行编辑和运行程序。 展开
解决方案如下:
# DEFINE SW_NORMAL 1 && 窗口状态:正常大小
# DEFINE SW_MAXIMIZE 3 && 窗口状态:最大化
DECLARE integer FindWindow IN WIN32API integer,string
&& 获取应用程序窗口句柄
DECLARE integer ShowWindow IN WIN32API integer,integer
&& 显示应用程序窗口
DECLARE integer IsZoomed IN WIN32API integer
&& 判断窗口是否最大化
cTitle = '物料管理系统'
&& 应用程序标题
nHwnd = FindWindow(0,cTitle)
&& 获取窗口句柄
IF nHwnd > 0
&& 应用程序已启动
IF IsZoomed(nHwnd) = 1
&& 原窗口的状态是最大化
ShowWindow(nHwnd,SW_MAXIMIZE)
&& 激活原窗口,并保持最大化
ELSE
ShowWindow(nHwnd,SW_NORMAL)
&& 原窗口是隐藏或最小化状态,则激活原窗口,并保持正常大小
ENDIF
QUIT
&& 退出本次应用程序
ENDIF
举例:
1、如果你打开了VFP中的一个FORM,再试图打开一个VFP,访问同一个FORM时会提示不能存取文件。
2、如果一个VFP项目进行了连编,生成了相应的EXE文件。如果现在打开了VFP程序并对该项目文件进行编辑,此时如果打开EXE文件运行时,也会提示不能存取文件。
另外,文件只读也有可能提示不能存取文件。