VISUAL FOXPRO编译时有什么条件

如题所述

被编译的文件不能是正在编辑或使用的文件;

文件中的实不能有实例;

文件不能是只读的.


如果项目在编译中失败,可以尝试在命令窗口使用Compile对项目中的表单/过程/类型库/标签/报表/数据库各自单独编译以确定是因为哪个文件导致整个项目编译失败.

可以使用一段代码来完成这个工作.

下列代码适用于VFP 6.0版本

Local oFile,oCompile
m.oCompile = CreateObject('MyCompile')

For Each oFile In _VFP.ActiveProject.Files 
  If InList(Lower(JustExt(m.oFile.Name)),'scx','prg','vcx','lbx','frx','dbc') Then
    m.oCompile.Compile (m.oFile.Name)
  EndIf
Next

Define Class MyCompile As Session
  NowFile = ''
  Procedure Compile(cFile)
    This.NowFile = m.cFile
    Local cExt
    m.cExt = Lower(JustExt(m.cFile))
    Do Case
    Case m.cExt == 'scx'
      Compile Form (m.cFile)
    Case m.cExt == 'prg'
      Compile (m.cFile)
    Case m.cExt == 'vcx'
      Compile Classlib (m.cFile)
    Case m.cExt == 'lbx'
      Compile Label (m.cFile)
    Case m.cExt == 'frx'
      Compile Report (m.cFile)
    Case m.cExt == 'dbc'
      Compile Database (m.cFile)
    EndCase
  EndProc
  Procedure Error(nError, cMethod, nLine)
    ?'编译失败:' + This.NowFile
  EndProc
EndDefine

在VFP8开始有Try语句了,就简单多了:

Local oFile,cExt
For Each oFile In _VFP.ActiveProject.Files 
  m.cExt = Lower(JustExt(m.oFile.Name))
  Try
    Do Case
    Case m.cExt == 'scx'
      Compile Form (m.oFile.Name)
    Case m.cExt == 'prg'
      Compile (m.oFile.Name)
    Case m.cExt == 'vcx'
      Compile Classlib (m.oFile.Name)
    Case m.cExt == 'lbx'
      Compile Label (m.oFile.Name)
    Case m.cExt == 'frx'
      Compile Report (m.oFile.Name)
    Case m.cExt == 'dbc'
      Compile Database (m.oFile.Name)
    EndCase
  Catch
    ?'编译失败:' + m.oFile.Name
  EndTry
Next

温馨提示:内容为网友见解,仅供参考
无其他回答

VISUAL FOXPRO编译时有什么条件
被编译的文件不能是正在编辑或使用的文件;文件中的实不能有实例;文件不能是只读的.如果项目在编译中失败,可以尝试在命令窗口使用Compile对项目中的表单\/过程\/类型库\/标签\/报表\/数据库各自单独编译以确定是因为哪个文件导致整个项目编译失败.可以使用一段代码来完成这个工作.下列代码适用于VFP 6.0版本 Loc...

如何把vf程序编译成.exe文件?
设置起始点 将各个组件链接在一起,然后使用主文件为应用程序设置一个起始点。主文件作为应用程序执行的起始点,可以包含一个程序或者表单。当用户运行应用程序时,Visual FoxPro 将为应用程序启动主文件,然后主文件再依次调用所需要的应用程序其他组件。所有应用程序必须包含一个主文件。一般来讲,最好的方...

visual foxpro程序设计语言中 iif和if是什么区别?
一、iif()是函数,If是命令语句,必须和ENDIF配合使用。二、编程时,简单的判断可以直接用IIf,简洁方便;三、IF比IIF少了一个I

Visual FoxPro的编程和C语言有什么区别?
C、Visual FoxPro都是计算机程序设计语言,说的直白一点,计算机语言就是人和计算机交流的语言,因为计算机是一种电子机器,它听不懂咱们人说的话,人要想利用它完成指定的任务,必须给计算机明确的指令,每一种语言就可以当做是人和计算机交流的语言,每种语言中都包含有很多种指令。其实计算机语言有成千上...

visual foxpro ,visual basic ,visual c++ ,delphi ,这三种编译工具有什...
不知道你究竟是问语言呢,还是问编译模式,如果是问语言,上面的回答是正确的。FOXPRO是专门用于其数据库上的开发工具,能够快速开发数据库为基础的软件。VB、VC、DELPHI这些都是WINDOWS平台上的可视化开发工具,理论上可以开发各类软件,当然也包括数据库管理类,并且能够连接各类数据库平台进行操作。如果你要...

学visual foxpro有用吗?(我是没有任何电脑基础的人。)
完全没有电脑基础的人建议绕过foxpro——foxpro一开起来的界面就像块白板,没有一点点用电脑的经验的人看了一定怕了。Foxpro就现在来看,主要还是用于中、少量的数据的高度自定义化的处理。比如说对会计可以用来快速查出个税申报表中身份证号码可能存在错误(号码重复或是没有填写号码)的人,而这个其他软件...

谁能列表告诉我Visual FoxPro的一些常用命令
FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句 范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录; NEXT n 表示从当前记录开始的以下n条记录; RECORD n 表示第n号记录; REST 表示从...

visual foxpro中的对象有哪些?
有很多,我认为分2类:\\x0d\\x0a第一类是原有的类可生成的对象:按钮、表单、文本框、定时器、表格等等。\\x0d\\x0a第二类是程序员自己定义的类:比如把一些常用自定义函数封装成更简单易用的类,然后,在编程时,生成对象来使用。\\x0d\\x0a面向对象的编程方法,更偏重于是编程思路之一。而不是...

Visual FoxPro vfp 循环结构有几种语句形式,主要用途是什么。
1、DO WHILE <条件> <命令序列> [LOOP][EXIT]<命令序列> ENDDO 2 、FOR 变量=初值TO终值 [STEP 步长]<命令序列> [LOOP][EXIT]<命令序列> ENDFOR(或NEXT)3、SCAN [范围] [FOR条件]<命令序列> [LOOP][EXIT]<命令序列> ENDSCAN 第1种根据条件执行循环,条件不满足则退出循环 第2种...

为什么我使用Visual FoxPro 9.0不能打开.PRG格式的文件,打开时程序就...
出现这种情况,可能因为你编译时把表文件设置为“排除”,但运行可执行文件时却没有把表文件放进同一个文件夹所造成的。出现这种情况,不能说FoxPro9.0不能打开.PRG格式的文件吧。

相似回答
大家正在搜