Table has no index order set ошибка foxpro

INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Thanks. We have received your request and will respond promptly.

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!

  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It’s Free!

*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

table has no index order set ????

table has no index order set ????

(OP)

17 Jan 02 19:06

I am trying to do a search and I get the error «table has no index order set»  I have set my clients file with several fields that are indexed.   

I am using a textbox on a form with this code in the keypress area of the text box

LPARAMETERS nKeyCode, nShiftAltCtrl

* SaveAlias() Saves current ALIAS()

lcData = ALLT(THIS.Value)+ CHR(nkeyCode)
Any ideas?

SELE clients && Select Alias()
SET NEAR ON
SEEK UPPE(lcData)
SET NEAR OFF

RELE lcData

THISFORM.list1.Refresh()

* RestAlias() Restore old ALIAS()

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Join Tek-Tips® Today!

Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.

Here’s Why Members Love Tek-Tips Forums:

  • Tek-Tips ForumsTalk To Other Members
  • Notification Of Responses To Questions
  • Favorite Forums One Click Access
  • Keyword Search Of All Posts, And More…

Register now while it’s still free!

Already a member? Close this window and log in.

Join Us             Close

  • Remove From My Forums
  • Question

  • I have a client running a VFP7 application on a network with 5 users. The clients are using 4 Windows 7 PCs and 1 Windows 10 PC.

    The network was a Windows 2008 server. But this crashed last week.

    Everything was running great when the 2008 server was running. The VFP7 App performed great.

    A couple of days ago, the clients IT company put up a new server running Windows 2019 server.

    Now the client is having problems with the VFP7 app.

    1: Queries are taking 20 seconds to perform instead of sub-second. This happens on all client PCs.

    2: All clients get this error when the VFP7 app tries to create an index: «Table has no index order set»

    3: 2 client PCs get the following error that knocks them out of the VFP7 app. The app is trying to join 2 large tables at the time of this error: «Fatal error: Exception code=C0000094 @ 05/17/19 06:30:45 PM…..»

    Question: 

    -Can a VFP7 app run on Windows server 2019?

    -Is there anything that I can try to get this VFP7 app working in this environment?

    -Will converting it to VFP9 work? Or will VFP9 work better?

    -Any other advice?

    I realize that Foxpro is not supported, but the client really likes this app and wants to make it work.

Answers

  • What’s the role of the server, typically it’s just the file server for data. Are you running the EXE and clients are connecting with remote desktop? Please, don’t say the EXE is located on the server and clients have a shortcut to start the exe.

    Also, why would clients index data?

    You create your indexes once at design time of the database, you deploy your database with CDX files of the DBFs and the indexes update with any data changes. Only IDX indexes don’t automatically open with data and can get out of sync.

    http://fox.wikis.com/wc.dll?Wiki~C0000094Error tells, if you index, you should, first DELETE TAG ALL and then index, but indeed your problem might go away when you don’t index during runtime
    at all. I even think you’re not taking multi user into account, an error like «Table has no index order set» is to be expected when you index during runtime. There is no such thing as seamless (re)indexing. Unless you create local IDX indexes or
    indexes on cursors this is a big concurrency problem, no matter what server version, it’s likely to start occurring because tables grew larger and not because of which OS.

    If this is remote desktop (or Citrix or similar) even «local» IDXes are not local and exclusive to one user, unless you create them in the user session specific folders, if you move to remote desktop anything you generate in the applidcation folde
    that previous to introducing remote desktop was exclusive to a single user is now shared. So in that aspect centralising the installation of the application itself on a terminal server means you need to reorganise user specific local data and indexes and the
    only thing that’s automatic in that respect are cursors, generated in the session id separated TEMP folders.

    Besides that the likelyhood, IF its still an OS based problem is, you are victim of the oplock settings of Windows, if the server is just the file server. If the EXE runs on it together with the data being local there, that problem doesn’t arise, though.
    Win2008 server still allowed to turn smb3 off and revert to smb2, nowdays this is no possibility anymore, so if you used some registry entries to handle this, they’re not having any effect in todays Windows server versions.

    All of that should be really well known by now.

    Bye, Olaf.

    • Edited by

      Monday, May 20, 2019 8:20 AM

    • Proposed as answer by
      Alex-KSGZ
      Tuesday, May 28, 2019 7:19 AM
    • Marked as answer by
      Tom BorgmannEditor
      Wednesday, July 31, 2019 6:09 AM

  • It’s not an untypical setup, but it means you even have network traffic to start up the EXE. The process (the running application) will still be created on each client. But as it’s not installed locally, the EXE is read into client memory from the file share
    through the network.

    It would all be less worriesome, if this is just a one time hit at startup, but neither the EXE file nor runtime DLLs VFP uses are simply fully loaded into client memory just at startup. You get network errors, which clearly can be related to accessing the
    EXE and runtime DLLs on the network share while the application runs already for minutes/hours that are not happening at operations on DBFs. And that’s additional to the problems network access to DBFs on a share already has. They don’t go away unless you
    put all this on a terminal server, but you don’t just have say 1% more errors are startup time, when they don’t bite you much, as you then simply restart, you have qualitative other errors.

    In todays networks and protocol hurdles you have, it’s a bit of a wonder, if everything works out fine. I guess you either only have one user at a time or just a couple concurrently, les than 10 users? If you use a software like that with more than 10 users,
    you’ll likely see the problems coming up. Or you have a software where the vendor/developer have worked around the problems avoiding problematic features or making configurations, but less and less of them work, eg SMB can’t be changed to old versions. You
    might simply not have concurrent access of same data, really same records of same tables written to/updated.

    Bye, Olaf.

    • Edited by
      OlafDoschke
      Tuesday, June 4, 2019 1:26 PM
    • Marked as answer by
      Tom BorgmannEditor
      Wednesday, July 31, 2019 6:09 AM

  • Remove From My Forums
  • Question

  • I have a client who is using an application developed in Visual Fox Pro 6.0.   This client had a power failure during a posting run.   Now when trying to repost, they get ERROR 26 NO TABLE HAS NO INDEX ORDER SET.  Is there any
    way of fixing this dbf without actually having Visual Foxpro 6.0.  Thank you.

Answers

  • I think you may need to delete all tags and re-create them. For this you will need to have VFP 6.0.


    • Proposed as answer by

      Wednesday, October 14, 2015 4:30 AM

    • Marked as answer by
      Youjun Tang
      Monday, October 19, 2015 7:14 AM

INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Thanks. We have received your request and will respond promptly.

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!

  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It’s Free!

*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

table has no index order set ????

(OP)

17 Jan 02 19:06

I am trying to do a search and I get the error «table has no index order set»  I have set my clients file with several fields that are indexed.   

I am using a textbox on a form with this code in the keypress area of the text box

LPARAMETERS nKeyCode, nShiftAltCtrl

* SaveAlias() Saves current ALIAS()

lcData = ALLT(THIS.Value)+ CHR(nkeyCode)
Any ideas?

SELE clients && Select Alias()
SET NEAR ON
SEEK UPPE(lcData)
SET NEAR OFF

RELE lcData

THISFORM.list1.Refresh()

* RestAlias() Restore old ALIAS()

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Join Tek-Tips® Today!

Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.

Here’s Why Members Love Tek-Tips Forums:

  • Tek-Tips ForumsTalk To Other Members
  • Notification Of Responses To Questions
  • Favorite Forums One Click Access
  • Keyword Search Of All Posts, And More…

Register now while it’s still free!

Already a member? Close this window and log in.

Join Us             Close

Нет таких файлов нет вот содержимое лога

=== ОШИБКА № 1 ===

Дата: 15.12.2009 Время: 17:20:17

Код ошибки………: 26

Сообщение об ошибке: Table has no index order set.

Программа……….: PROCEDURE RESTOREGENERATORDBF BEST5_REINDEX.FXP

Номер строки…….: 1794

Ошибочная строка…: DATETIME()

Была выполнена цепочка нижеследующих программ:

ON…

PROCEDURE ALL_INDEX_BRO C:PROGRAM FILESBESTBEST5_34CLIENTBINFOXBRO.EXE

BEST5_REINDEX.FXP

PROCEDURE RESTOREGENERATORDBF BEST5_REINDEX.FXP

ON…

PROCEDURE FOXBRO_ERROR_PROC C:PROGRAM FILESBESTBEST5_34CLIENTBINFOXBRO.EXE

Версия FOXPRO……..: Visual FoxPro 07.00.0000.9465 EXE Support Library for Windows

Серийный номер FOXPRO:

Характеристики памяти компьютера:

SYS(12) : 655360

SYS(17) : Pentium

SYS(23) : 0

SYS(24) : 0

SYS(1001): 937361408

SYS(1016): 355952

Описание открытого файла данных:

Имя открытой БД: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROREPTEMPL.DBF

ALIAS()……..: REPTEMPL

SEL ECT(0)……: 2

SELECT(1)……: 32767

ORDER()……..:

TAG(1)………:

TAG(2)………:

TAG(3)………:

TAG(4)………:

TAG(5)………:

KEY(1)………:

KEY(2)………:

KEY(3)………:

KEY(4)………:

KEY(5)………:

SYS(2021,1)….:

SYS(2021,2)….:

SYS(2021,3)….:

SYS(2021,4)….:

SYS(2021,5)….:

================================================================================

LIST MEMORY:

_OTOOLBAR Pub L .F.

_ADATA Pub A

( 1) L .F.

( 2) C «c:program filesbestbest5_34serverdatadbf2009best5.dbc»

( 3) C «c:program filesbestbest5_34serverdatadbfkyltyra2009best5.dbc

X

( 4) C «c:program filesbestbest5_34serverdatadbfbudgetbest5.dbc»

( 5) C «c:program filesbestbest5_34serverdataprobest5pro.dbc»

_LDECLARE Pub L .T.

_LOADLIB Pub L .F.

EXTERNALLIB

Pub O ISFOXSTRINGARRAY OBJECT

_ERR_COUNT Pub N 1 ( 1.00000000)

CNAMEDBC Local L .F. foxbro

CCOMMAND Local L .F. foxbro

CDOREINDEX Local L .F. foxbro

CNAMEDBC1 Local L .F. foxbro

CCREATIONDB

Local L .F. foxbro

CNOPROGRBAR

Local L .F. foxbro

COLDERROR Local C «DO FoxBro_Error_Proc WITH ERROR(), SYS( 16 ), LINENO(), MESSAGE(), M

X ESSAGE( 1 ), ‘C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG

X ‘» foxbro

LFLAGERROR Local L .F. foxbro

LDOREINDEX Local L .F. foxbro

LNOPROGRBAR

Local L .F. foxbro

_OLD_ERROR_PROC

Priv C «» foxbro

_ERR_FILE Priv C «C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG» foxbro

_ERR_PROC Priv C «DO FoxBro_Error_Proc WITH ERROR(), SYS( 16 ), LINENO(), MESSAGE(), M

X ESSAGE( 1 ), ‘C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG

X ‘» foxbro

_NO_ERRORS Priv L .F. foxbro

_OFORM Priv O PROGR all_index_bro

PCPATH Priv C «C:PROGRAM FILESBESTBEST5_34SERVERDATAPRO» best5_reindex

CTASK Priv C «» best5_reindex

LONLY Priv L .F. best5_reindex

NARXIV Priv N 0 ( 0.00000000) best5_reindex

CBASE Priv C «» best5_reindex

LUPDATECRC Priv L .F. best5_reindex

LNOTEST Priv L .F. best5_reindex

OFORM Priv O PROGR best5_reindex

LLOGFILE Priv L .T. best5_reindex

NRETURNVALUE

Priv N 0 ( 0.00000000) best5_reindex

NPREFIXNNOPER

Priv L .F. best5_reindex

CCURR_PROF Priv L .F. best5_reindex

CRUN Local C «Runner.EXE Array5.bdll FoxBroReindex «C:PROGRAM FILESBESTBEST5_34

X SERVERDATAPROBEST5PRO.DBC» — F 0 — F F 0 T 0 — — » best5_reindex

XRET Local N 0 ( 0.00000000) best5_reindex

LOLDEXCLUSIVE

Local L .T. best5_reindex

COLDDATABASE

Local C «C:PROGRAM FILESBESTBEST5_34SERVERDATAPROBEST5PRO.DBC» best5_reindex

_ERR_PROC Local C «DO FoxBro_Error_Proc WITH ERROR(), SYS( 16 ), LINENO(), MESSAGE(), M

X ESSAGE( 1 ), ‘C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG

X ‘» best5_reindex

ISPRO Local L .T. best5_reindex

YN_COUNT Local N 1 ( 1.00000000) best5_reindex

ERRNUM Local N 0 ( 0.00000000) best5_reindex

COLDEXCLUSIVE

Local C «OFF» best5_reindex

COLDCOLLATE

Local C «MACHINE» best5_reindex

COLDDELETED

Local C «ON» best5_reindex

COLDSAFETY Local C «ON» best5_reindex

TBN Priv C «reptempl X restoregeneratordbf

N Priv N 3409 ( 3409.00000000) restoregeneratordbf

NERRNUM Local N 26 ( 26.00000000) foxbro_error_proc

CPROGNAME Local C «PROCEDURE RESTOREGENERATORDBF BEST5_REINDEX.FXP» foxbro_error_proc

NLINENUM Local N 1794 ( 1794.00000000) foxbro_error_proc

CERRMSG Local C «Table has no index order set.» foxbro_error_proc

CCODETEXT Local C «DATETIME()» foxbro_error_proc

CERRFILE Local C «C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG» foxbro_error_proc

NI Local N 8 ( 8.00000000) foxbro_error_proc

NJ Local C «» foxbro_error_proc

CSETREFRESH

Local C «0» foxbro_error_proc

CERRDIR Local C «C:PROGRAM FILESBESTBEST5_34CLIENTBIN» foxbro_error_proc

CSETTALK Local L .F. foxbro_error_proc

CSETPRINTER

Local L .F. foxbro_error_proc

CSETDEVICE Local L .F. foxbro_error_proc

CSETCONSOLE

Local L .F. foxbro_error_proc

CSETALTERNATE

Local L .F. foxbro_error_proc

CSETALTERFILE

Local L .F. foxbro_error_proc

CALIAS Local L .F. foxbro_error_proc

CDBF Local L .F. foxbro_error_proc

NTABLE Local L .F. foxbro_error_proc

COLDONERROR

Local C «DO FoxBro_Error_Proc WITH ERROR(), SYS( 16 ), LINENO(), MESSAGE(), M

X ESSAGE( 1 ), ‘C:PROGRAM FILESBESTBEST5_34CLIENTBINFB_ERROR1.LOG

X ‘» foxbro_error_proc

CCURSELECT Local N 2 ( 2.00000000) foxbro_error_proc

NCURRECNO Local N 1 ( 1.00000000) foxbro_error_proc

NRECNO Local L .F. foxbro_error_proc

AWORKAREAS Local A foxbro_error_proc

( 1) L .F.

71 variables defined, 1521 bytes used

953 variables available

Print System Memory Variables

Pub C «»

_ALIGNMENT Pub C «LEFT»

_ASCIICOLS Pub N 80 ( 80.00000000)

_ASCIIROWS Pub N 63 ( 63.00000000)

_ASSIST Pub C «»

_BEAUTIFY Pub C «»

_BOX Pub L .T.

_BROWSER Pub C «»

_BUILDER Pub C «»

_CALCMEM Pub N 0.00 ( 0.00000000)

_CALCVALUE Pub N 0.00 ( 0.00000000)

_CODESENSE Pub C «»

_CONVERTER Pub C «»

_COVERAGE Pub C «»

_CUROBJ Pub N -1 ( -1.00000000)

_DBLCLICK Pub N 0.50 ( 0.50000000)

_DIARYDATE Pub D 15.12.2009

_DOS Pub L .F.

_FOXCODE Pub C «»

_FOXDOC Pub C «»

_FOXGRAPH Pub C «»

_FOXTASK Pub C «»

_GALLERY Pub C «»

_GENGRAPH Pub C «»

_GENHTML Pub C «»

_GENMENU Pub C «»

_GENPD Pub C «»

_GENSCRN Pub C «»

_GENXTAB Pub C «»

_GETEXPR Pub C «»

_INCLUDE Pub C «»

_INCSEEK Pub N 0.50 ( 0.50000000)

_INDENT Pub N 0 ( 0.00000000)

_LMARGIN Pub N 0 ( 0.00000000)

_MAC Pub L .F.

_MLINE Pub N 0 ( 0.00000000)

_OBJECTBROWSER Pub C «»

_PADVANCE Pub C «FORMFEED»

_PAGENO Pub N 3 ( 3.00000000)

_PBPAGE Pub N 1 ( 1.00000000)

_PCOLNO Pub N 32 ( 32.00000000)

_PCOPIES Pub N 1 ( 1.00000000)

_PDRIVER Pub C «»

_PDSETUP Pub C «»

_PECODE Pub C «»

_PEJECT Pub C «NONE»

_PEPAGE Pub N 32767 ( 32767.00000000)

_PLENGTH Pub N 66 ( 66.00000000)

_PLINENO Pub N 33 ( 33.00000000)

_PLOFFSET Pub N 0 ( 0.00000000)

_PPITCH Pub C «DEFAULT»

_PQUALITY Pub L .F.

_PRETEXT Pub C «»

_PSCODE Pub C «»

_PSPACING Pub N 1 ( 1.00000000)

_PWAIT Pub L .F.

_RMARGIN Pub N 80 ( 80.00000000)

_RUNACTIVEDOC Pub C «»

_SAMPLES Pub C «C:PROGRAM FILESCOMMON FILESMICROSOFT SHAREDVFPSAMPLES»

_SCCTEXT Pub C «»

_SCREEN Pub O FORM

_SHELL Pub C «»

_SPELLCHK Pub C «»

_STARTUP Pub C «»

_TABS Pub C «»

_TALLY Pub N 1 ( 1.00000000)

_TASKLIST Pub C «»

_TEXT Pub N -1 ( -1.00000000)

_THROTTLE Pub N 0.00 ( 0.00000000)

_TRANSPORT Pub C «»

_TRIGGERLEVEL Pub N 0 ( 0.00000000)

_UNIX Pub L .F.

_VFP Pub O UNKNOWN TYPE

_WINDOWS Pub L .T.

_WIZARD Pub C «»

_WRAP Pub L .F.

81 System Variables Defined

Menu and Pad Definitions

0 Menus Defined

Popup Definitions

_HELP 609 bytes

_TOOLS 696 bytes

_TABLE 1914 bytes

_VIEW 1479 bytes

_EDIT 1131 bytes

_FILE 1740 bytes

6 Popups Defined

Window Definitions

Name Fr om To Size

PROGRESS 6.450,21.375 22.650,92.625 364 bytes

1 Window Defined

================================================================================

LIST STATUS:

Processor is Pentium

Current Database: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROBEST5PRO.DBC

Currently Selected Table:

Select area: 2, Table in Use: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROREPTEMPL.DBF Alias: REPTEMPL

Code page: 1251

Memo file: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROREPTEMPL.FPT

Lock(s): <none>

Select area: 1, Table in Use: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROGENERATOR.DBF Alias: GENERATOR

Code page: 1251

Structural CDX file: C:PROGRAM FILESBESTBEST5_34SERVERDATAPROGENERATOR.CDX

Index tag: TABLENAME Collate: Machine Key: UPPER(TABLENAME)

Lock(s): <none>

Procedure file: LOADLIB.FXP

Class libraries: C:PROGRAM FILESBESTBEST5_34CLIENTBINBRO.VCX ALIAS BRO

File search path:

Default directory: C:PROGRAM FILESBESTBEST5_34CLIENTBIN

Print file/device:

Work area = 2

Margin = 0

Decimals = 2

Memowidth = 50

Typeahead = 20

Blocksize = 64

Reprocess = 10.00 SECONDS

Refresh = 0,5 SECONDS

DDE Timeout = 2000

DDE Safety = on

Code page: 1251

Collating sequence: Machine

Compiler code page: 1251

Date format: Short

Macro Hot Key =

UDF parameters are passed by: VALUE

On Shutdown: CLEAR EVENTS

ON KEY LABEL hot keys:

ALT+M CreateMenuTools()

Textmerge Options

Delimiters: Left = << Right = >>

Show

Alternate — off Color — on Exact — off Logerrors — on Space — on

ANSI — off Compatible — off Exclusive — on Mouse — on Status Bar — on

Asserts — off Confirm — off Fields — off Multilocks — on Sysmenus — on

Bell — on Console — off Fixed — off Near — off Talk — off

Blink — on Cursor — on Fullpath — on Null — off Textmerge — off

Brstatus — off Deleted — on Heading — on Optimize — on Title — off

Carry — off Device — scrn Help — off Print — off Unique — off

Century — on Echo — off Intensity — on Readborder — off

Clear — on Escape — on Lock — off Safety — off

Declared DLLs:

BDA_RunAppFromFox X c:program filesbestbest5_34clientbinbestvmf.dll

RegCloseKey X C:WINDOWSsystem32ADVAPI32.dll

RegCreateKey X C:WINDOWSsystem32ADVAPI32.dll

RegDeleteKey X C:WINDOWSsystem32ADVAPI32.dll

RegDeleteValue X C:WINDOWSsystem32ADVAPI32.dll

RegEnumKey X C:WINDOWSsystem32ADVAPI32.dll

RegEnumKeyEx X C:WINDOWSsystem32ADVAPI32.dll

RegEnumValue X C:WINDOWSsystem32ADVAPI32.dll

RegOpenKey X C:WINDOWSsystem32ADVAPI32.dll

RegQueryValueEx X C:WINDOWSsystem32ADVAPI32.dll

RegSetValueEx X C:WINDOWSsystem32ADVAPI32.dll

StringFromGUID2 X c:windowssystem32ole32.dll

================================================================================

Открытые таблицы:

2 — ‘REPTEMPL’ — ‘C:PROGRAM FILESBESTBEST5_34SERVERDATAPROREPTEMPL.DBF’

Record# ID GUID NAME X TECH TEMPLATE ISSYSTEM USERCODE STATIONID MODIFIED TYPEBASE

1 3 вкeuХДЦ‘= Журнал регистрации кассовых документов ( в валюте учета) X 1 Memo .T X 1 18.11.2002 18:23:38 A

1 — ‘GENERATOR’ — ‘C:PROGRAM FILESBESTBEST5_34SERVERDATAPROGENERATOR.DBF’

Record# TABLENAME X LASTID

4 reptempl X 2161

==================================================­==============================

Table has no index order set. (26)

[Для таблицы не установлен порядок индексов]

Данная ошибка вызывается одним или несколькими условиями из числа следующих:

fox90000.gif Индекс для файла таблицы не был выбран в тот момент, когда была выдана команда

UPDATE с опцией RANDOM.

fox90000.gif Была предпринята попытка операции FIND или SEEK на неиндексированной таблице и

и при действующей установке SET ORDER TO 0.

fox90000.gif Была предпринята попытка выдать SET RELATION с применением нечислового реляцио

ного выражения для неиндексированной таблице или при действующей установке SET

ORDER TO 0.

Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip — Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)

  • Новые примеры программ

    Установка библиотек, Игровая программа «Охота на лис», Установка библиотек «Охота на лис», plastic -«Платежки», Библиотеки (на FPD26), platan -«Платежки» (на Clipper 5.2)

  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.

Неустранимая ошибка при выполнении отчета

Проблема

При работе в Visual FoxPro 5.0 или Visual FoxPro 6.0 запуск на выполнение готового отчета приводит к неустранимой ошибке и прерыванию выполнения приложения. Как правило, это происходит в операционных системах Windows 95 или Windows 98. Хотя для версии Visual FoxPro 5.0 это может произойти на любой операционной системе.

Причина

Причина заключается в конфликте использования сопроцессора собственно FoxPro и текущим драйвером принтера.

Решение

Решение заключается либо в отключении сопроцессора (это можно сделать через панель управления), либо в принудительной его очистке при помощи специальной библиотеки

  
  DECLARE _fpreset IN msvcrt20.dll  
  =_fpreset()  
 * Запуск на выполнение отчета  
  REPORT FORM MyReport.frx  
  =_fpreset()

Подробнее об этой ошибке можно прочитать в базе знаний на сайте MicroSoft. Статья Q183522

VFP8 некорректно отображает содержимое отчета

Проблема.

При выполнении отчета в среде Visual FoxPro 8.0 буквы наезжают друг на друга или отображаются непонятные «закорючки»

Причина.

Причина связана с тем, что в Visual FoxPro 8 как-то изменили обработку отчетов, использующих TrueType — шрифты в случае оптимизации печати принтером. Т.е. это ситуации, когда принтер пытается печатать такие шрифты не как графику, а используя некую внутреннюю библиотеку шрифтов.

Решение.

Есть несколько решений

  1. Отказаться от использования TrueType-шрифтов
  2. Изменить настройки драйвера принтера у клиента
  3. Принудительно изменить настройки каждого файла отчета

Отказаться от использования TrueType-шрифтов.

Данный совет трудно исполним на практике. Как правило, при подготовке отчетов используют несколько видов шрифтов. Сложно найти адекватную замену TrueType-шрифтам.

В идеале, желательно создать собственные шрифты. Но далеко не каждый программист на это способен.

Изменить настройки драйвера принтера у клиента.

В операционных системах Windows 95 или Windows 98 необходимо установить печать шрифтов в виде графики. Для старших версий операционной системы такого переключателя нет. Там необходимо отключить оптимизацию печати.

Проблема только в том, что это «внешние» по отношению к самой программе настройки. А это значит, что проконтролировать их значение у клиента практически невозможно. Тем более некорректно требовать принудительного задания настроек внешних устройств только для того, чтобы корректно работала одна из многих программ, установленная на компьютере клиента.

Принудительно изменить настройки каждого файла отчета.

А вот это то, что может реально сделать разработчик программы, хотя это достаточно кропотливое занятие, требующее от программиста повышенной бдительности.

Физически, файлы отчетов FoxPro — это обычные DBF-таблицы. Просто у них изменено расширение. DBF — FRX, FPT — FRT.

Вам следует открыть файл отчета как таблицу командой

В этой команде следует обязательно указать расширение файла отчета «FRX». В противном случае, FoxPro посчитает, что речь идет о файле с расширением DBF.

Теперь находите в этом файле запись со значениями полей

Как правило, это физически самая первая запись.

Откройте на редактирование в этой записи Memo-поле с именем Expr. Найдите (или создайте) строку, начинающуюся с ключевого слова TTOPTION и установите значение

Это и означает команду принтеру печатать TrueType-шрифты как графику. Сохраните внесенные изменения и закройте файл отчета.

Недостаток данного решения в том, что после каждой модификации отчета при помощи дизайнера отчетов эта настройка опять примет значение 2 или 3. Т.е. после каждой модификации отчетов надо не забыть еще раз открыть файл отчета как таблицу и внести нужные изменения.

Кстати, значение TTOPTION = 2 — это значение по умолчанию, для принтеров Hewlett-Packard использующих Printer Control Language (PCL). Именно поэтому данная проблема чаще всего встречается при работе с принтерами Hewlett-Packard.

Достаточно подробно данная проблема обсуждалась на этом сайте. Можете почитать дискуссию по приведенной ссылке

forum.foxclub.ru

Как выбрать принтер из окна предварительного просмотра

Вопрос

При открытии отчета на предварительный просмотр и последующего нажатия кнопки с изображением принтера не появляется окно настройки принтера. Печать идет на принтер по умолчанию. Как можно вызвать окно настройки принтера из режима предварительного просмотра?

Ответ

Для предварительного просмотра отчета, как правило, подается команда

REPORT FORM MyReport.frx PREVIEW

Отчет будет выдан на экран вместе с командной кнопкой с изображением принтера, по нажатию на которую будет выполнена печать на бумагу.

Однако в этом случае пользователь не получит приглашение по выбору и настройке принтера. Печать пойдет на принтер по умолчанию, и будут использованы его настройки по умолчанию.

Чтобы пользователь получил возможность выбора принтера и его настроек используйте команду

REPORT FORM MyReport.frx TO PRINTER PROMPT PREVIEW

Обратите внимание на порядок следования опций. «PREVIEW» должна следовать после опций «TO PRINTER PROMPT». В противном случае, вы получите сообщение об ошибке при попытке выполнить команду.

Замечание

Этот совет не применим к версиям FoxPro 2.x, а также в том случае, если в команде REPORT FORM используется опция NOWAIT.

Однако в версии Visual FoxPro 9 даже при использовании опции NOWAIT можно вызвать окно предварительной настройки принтера по приведенной выше схеме если предварительно сделать дополнительную настройку

  
  SET ReportBehavior 90  
  REPORT FORM MyReport.frx TO PRINTER PROMPT PREVIEW NOWAIT
Как отобразить окно предварительного просмотра в As Top-Level форме

Вопрос

Приложение написано на базе As Top-Level форм. При вызове отчета на предварительный просмотр он вообще не появляется. В чем причина? Как можно отобразить окно предварительного просмотра.

Причина

Для версий до Visual FoxPro 6 включительно, по умолчанию, окно предварительного просмотра открывается In-Screen. Т.е. внутри основного окна FoxPro.

Решение

Необходимо перенаправить вывод окна предварительного просмотра в окно, созданное на базе As Top-Level формы. Это стало возможным только с появлением опции IN WINDOW в Visual FoxPro 6.

Пример решения описан в статье Q188887, на сайте Microsoft

How to display the Print Preview window in a top-level form in Visual FoxPro

Суть приведенного там примера заключается в следующем коде

  
  oPForm = CREATEOBJECT('printpreview')  
  oPform.visible = .t.    && Открыть форму в которую пойдет вывод  
 *******  
 * Следующая команда использует опцию IN WINDOW  
 * Заметьте, что использована как опция WINDOW, так и опция IN WINDOW  
 * Опция WINDOW устанавливает для окна предварительного просмотра  
 * те же характеристики, что и у указанного окна, в то время как   
 * опция IN WINDOW говорит о том, внутри какого окна следует открывать  
 * окно предварительного просмотра  
 *******  
  REPORT FORM report_1 PREVIEW WINDOW printpreview IN WINDOW printpreview  
    
 * Класс окна предварительного просмотра  
  DEFINE CLASS printpreview AS form  
    
  ScaleMode = 3  
  Top = 0  
  Left = 0  
  Height = 454  
  Width = 641  
  ShowWindow = 2  
  DoCreate = .T.  
  Caption = "Print Preview Window"  
  Movable = .T.  
  TitleBar = 0  
  WindowState = 0  
  SizeBox = .F.  
  Name = "printpreview"  
    
  ENDDEFINE

Разумеется, Вы можете создать нужный класс в визуальной библиотеке классов. Можете использовать для опции Window одно окно, а для опции IN WINDOW — другое. Это просто пример.

Замечание

Опция IN WINDOW была добавлена только в версии Visual FoxPro 6. Для младших версий FoxPro придется, так или иначе, использовать основное окно FoxPro.

Т.е. перед открытием окна предварительного просмотра отобразить основное окно FoxPro, а после просмотра — закрыть.

  
  _SCREEN.Visible = .T.  
  REPORT FORM MyReport.frx  
  _SCREEN.Visible = .F.
Как запретить печать из окна предварительного просмотра

Вопрос

Как запретить печать из окна предварительного просмотра?

Ответ

Данная проблема имеет несколько решений, но наиболее корректным является удаление кнопки с изображением принтера из окна предварительного просмотра. Это можно сделать при помощи специально созданного файла ресурсов.

Файл ресурсов, по умолчанию, это файл FoxUser.dbf (fpt). Он хранит настройки всех когда-либо открытых окон в среде FoxPro.

Сначала создадим копию ресурсного файла:

  
  SELECT 0  
  USE (SYS(2005)) AGAIN  
  COPY TO NoPrint.dbf  
  USE

В результате получится копия ресурсного файла в текущей директории с именем NoPrint.dbf

Устанавливаем в качестве реусрсного файла этот вновь созданный файл.

  
  gcResource=SYS(2005)   && сохраняю путь к старому ресурсному файлу  
  SET RESOURCE TO NoPrint.dbf

Далее выбираем пункт главного меню View->ToolBars… Убедитесь, что стоит крестик в пункте «Print Preview» и нажмите кнопку «Customize…»

Теперь нажмите левой кнопкой мыши кнопку с изображеним принтера в ToolBar «Print Preview» и не отпуская перетащите ее за пределы этого ToolBar. Все, кнопка удалена из этого ToolBar и такое состояние сохранено в текущем файле ресурсов.

Восстанавливаем исходный файл ресурсов

SET RESOURCE TO (m.gcResource)

Следует заметить, что внутри файла ресурсов много самой разнообразной информации, которая собственно не нужна в данной задаче. Поэтому для экономи места все лишнее можно удалить. Для этого откройте новый файл ресурсов

И найдите в нем не удаленную запись со следующими значениями полей:

  
  TYPE="PREFW"  
  ID="TTOOLBAR"  
  NAME="Print Preview"

Все остальные записи можно смело удалять. Они никак не влияют на данный ToolBar.

В принципе, этот файл ресурсов (вместе с мемо-полем) можно включить внутрь проекта, чтобы не поставлять отдельно кучу ресурсных файлов.

Собственно запуск отчета с использованием только что созданного файла ресурсов примет вид:

  
 * Запоминаю старый файл ресурсов  
  LOCAL lcResource  
  lcResource=SYS(2005)  
 * Подключаю нужный ресурсный файл  
  SET RESOURCE TO NoPrint.dbf  
    
 * Выполняю отчет  
  REPORT FORM MyReport.frx NOCONSOLE PREVIEW  
    
 * Восстанавливаю старый ресурсный файл  
  SET RESOURCE TO (m.lcResource)
При запуске отчета из формы формируются неверные данные

Проблема:

На этапе подготовки и отладки отчета — все нормально, но когда готовый отчет запускается из формы приложения отчет либо выдает сообщения об ошибках, либо формирует некорректные данные.

Причина:

Отчет это всегда сканирование одной главной таблицы. Для корректной работы отчеты он должен обязательно перейти в рабочую область этой главной таблицы.

Если по каким-либо причинам этого не происходит, то в процессе выполнения отчета он начинает сканировать ту таблицу, которая оказалась в текущей рабочей области. В этом случае результат выполнения отчета становится не предсказуемым.

Решение:

Способ решения зависит от того, по какой причине оказалась потеряна (не выбрана) главная таблица отчета.

Наиболее вероятными являются следующие причины:

  1. В момент вызова отчета фокус находится в объекте Grid
  2. При создании отчета не была явно указана главная таблица отчета
  3. Главная таблица отчета не была открыта или не видна из отчета

1. В момент вызова отчета фокус находится в объекте Grid.

Это BUG (глюк) FoxPro. Причина такого поведения не вполне понятна, но если в момент вызова отчета фокус находится в объекте Grid, то объект Grid «не отпускает» текущую рабочую область.

Решение сводится к тому, чтобы перед выполнением отчета увести фокус с объекта Grid на любой другой объект формы. Если кроме собственно объекта Grid на форме ничего нет, то создайте специальный объект TextBox или CommandButton за границами видимой части окна (Top = -100, Left = -100) и передавайте фокус на этот «невидимый» объект непосредственно перед вызовом отчета:

  
  ThisForm.Command1.SetFocus()  
  REPORT FORM MyReport.frx  
  ThisForm.Grid1.SetFocus()

2. При создании отчета не была явно указана главная таблица отчета.

Как правило, если Вы используете DataEnvironment отчета, то по-умолчанию главной таблицей отчета становится первая таблица, физически добавленная в DataEnvironment. Однако если по какой-либо причине это не устраивает, то главную таблицу можно указать явно в свойствах собственно DataEnvironment отчета. За это отвечает свойство:

Report.DataEnvironment.InitialSelectedAlias

Это свойство принимает значение алиаса одной из таблиц, добавленных в DataEnvironment собственно отчета. Выбранный алиас и назначается «главной» таблицей отчета.

Если же Вы не используете DataEnvironment отчета, то следует принудительно перейти в рабочую область главной таблицы непосредственно перед вызовом отчета

  
  Select MainTab  
  REPORT FORM MyReport.frx

3. Главная таблица отчета не была открыта или не видна из отчета.

Подобная ситуация возможна, если Вы не используете DataEnvironment отчета или же установили его свойство

Report.DataEnvironment.AutoOpenTables = .F.

Это означает, что Вы полностью берете на себя ответственность за установку среды окружения отчета на себя. Другими словами, Вам необходимо самостоятельно проверить факт наличия нужных таблиц и открыть их, если это необходимо до того, как отчет начнет выполняться.

Как правило, подобная ситуация возникает, если в качестве источника данных для отчета используется курсор, которого просто не существует как объект, который можно было бы добавить в DataEnvironment отчета.

Но не просто факт использования курсора (это довольно легко определяется), а запуск отчета в Private DataSession. Это настраивается в режиме модификации отчета: пункт меню Report — Private DataSession.

Вообще-то, сама по себе идея запуска отчета в Private DataSession очень хорошая. Работа отчета происходит независимо от работы форм. Но применительно к курсорам следует помнить, что курсор созданный в одной DataSession «не виден» в другой DataSession. А установка свойства Private DataSession, как раз и означает, что отчет будет запущен в «другой» DataSession.

В этом случае формирование курсоров надо перенести извне отчета в методы самого отчета. Как правило, это делается в методах DataEnvironment отчета. Например, в методе

Report.DataEnvironment.BeforeOpenTables

Всем доброго времени суток!

На сегодня стоит вспомнить, что я ещё и IT-специалист. А не только писатель на Дзене. На днях на работе бухгалтер столкнулась с одной интересной ошибкой при попытке запуска программы «Налогоплательщик ЮЛ».

Формулировка ошибка такая: «Cannot locate the microsoft visual foxpro support library». На рабочем месте установлен Windows 8.1 (x64). Выглядит это окно вот так:

«Cannot locate the microsoft visual foxpro support library»

«Cannot locate the microsoft visual foxpro support library»

Почему в некоторых приложениях, программах возникает такая ошибка? Ключ к пониманию этой проблемы лежит в тексте наименования этого окна на скрине. Видите что написано вверху? «Microsoft visual FoxPro». Так вот… Докладываю. Очень много программ написано на языке Visual FOXPRO 5.0 и соответственно, Visual FOXPRO 9.0.

Я бы не сказал, что это сейчас супер-популярный язык программирования, но компания АО «ГНИВЦ» судя по всему тот самый «Налогоплательщик ЮЛ» пишет, продолжает именно на языке FoxPro. А Фокспро не может существовать без своих библиотек поддержки, которые ему необходимы для работы. Причем, библиотеки FOXPRO должны быть в системных папках. В противном случае, любая программа, написанная на FOXPRO, не запустится, вызвав окно с ошибкой как на скрине выше.

Решение проблемы

Поскольку Вы видите у себя на экране сообщение вида «Cannot locate the microsoft visual foxpro support library», то это и означает, что НЕТ у вас на компьютере этих самых библиотек поддержки программной среды microsoft visual foxpro. Но решение есть: нужно скачать и установить, точнее, скопировать эти самые библиотеки на ваш компьютер, в системную папку.  Обратите внимание, что для разных версиий Windows и пути копирования — разные!

  • В случае 32 — разрядных систем, набор библиотек копируем сюда: C:windowssystem32 
  • В случае 64 — разрядных систем путь несколько иной:  C:WindowsSysWOW64

Например, на работе у бухгалтера была windows 10 (x64) и скопировать пришлось в C:WindowsSysWOW64. Теперь о библиотеках. Их нужно несколько для корректной работы Foxpro.  Я собрал и подготовил их для вас. Они упакованы в архиве RAR. Действия простые: скачиваем, распаковываем, и затем копируем по указанным выше путям.

⏩ Скачать набор библиотек visual foxpro 5.0
⏩ Скачать набор библиотек visual foxpro 9.0

Вот и всё решение!) Надеюсь, я смог Вам помочь.


IT — вопросы


Tags:IT

« Назад

Команда

ERROR nErrorNumber | nErrorNumber, cMessageText1 | [cMessageText2]

генерирует ошибку VFP.

Параметры:

nErrorNumber – задает номер ошибки, подлежащей генерации.

cMessageText1 – текст дополнительного сообщения, выводимый вместе с сообщением об ошибке.

cMessageText2 – текст, выводимый в окне сообщений об ошибке.

Когда параметр cMessageText2 задан вместо параметра nErrorNumber, VFP генерирует ошибку, заданную пользователем (ее номер 1098).

Команда ERROR употребляется при проверке создаваемых пользователем процедур, обрабатывающих ошибки, и для генерации добавляемых пользователем сообщений об ошибках.

При задании неверного значения nErrorNumber возникнет ошибка с номером 1941.

Пример. Печатаются все ошибки VFP, имеющие код от 1 до 100.

clear

on error do ErrorHandler with Error( ), Message( )

for errNumber = 1 to 100

&& Используем выражение с именем

error (errNumber)

endFor

on error

procedure ErrorHandler(errCode, errMessage)

set alternate to d:a.txt additive

set alternate on

set console on

&& Вывод выполняем, если задан существующий в VFP номер ошибки errNumber

if errCode <> 1941

    ? ‘Ошибка VFP № ‘ + Transform(errCode) + ‘. ‘ + errMessage

endif

close alternate

endProc

Первые 10 сообщений, сгенерированных процедурой ErrorHandler:

Ошибка VFP № 1. File does not exist.

Ошибка VFP № 3. File is in use.

Ошибка VFP № 4. End of file encountered.

Ошибка VFP № 5. Record is out of range.

Ошибка VFP № 6. Too many files open.

Ошибка VFP № 7. File already exists.

Ошибка VFP № 9. Data type mismatch.

Ошибка VFP № 10. Syntax error.

Ошибка VFP № 11. Function argument value, type, or count is invalid.

Ошибка VFP № 12. Variable is not found.

Ошибку можно вызвать и употребив команду THROW, которая, если не имеется обрабатывающего THROW-исключение CATCH-оператора TRY-конструкции, прекращает выполнение программы. Команда THROW создает объект-исключение (также он создается в TRY-блоке рассмотренной выше конструкции TRY … CATCH … FINALLY).

Если THROW-исключение создано вне TRY-конструкции, то оно передается другому пользовательскому или стандартному обработчику ошибок VFP. Так, в приводимом ниже коде, во-первых, обработчик ErrorHandler сообщит об отсутствии TRY-конструкции (ошибка № 2059) и, во-вторых, распечатает значения параметра errMessage, содержащего описание ошибки, и значения свойств ErrorNo, Message, UserValue, Details, Procedure и LineNo объекта-исключения, созданного THROW:

on error do ErrorHandler with Error( ), Message( )

throw 25                             && Выполнение программы будет прервано

procedure ErrorHandler

parameters errCode, errMessage

if errCode <> 1941 then

    ? ‘Ошибка VFP № ‘ + Transform(errCode) + ‘. ‘ + errMessage

endif

endProc

Сообщения программы:

Ошибка VFP № 2059. Unhandled Structured Exception

ErrorNo: 2071

Message: User Thrown Error

UserValue: 25

Details:

Procedure: Test

LineNo: 8

Более информативно употребление THROW с параметром класса Exception. Тогда, например, используя его событие Init, можно передать дополнительные характеризующие ошибку сведения, например:

on error do ErrorHandler with Error( ), Message( )

throw CreateObject(«ThrowException»)   && Выполнение программы будет прервано

procedure ErrorHandler

endProc

define class ThrowException as Exception

procedure Init

? «Время возникновения ошибки: » + Ttoc(DateTime( ))

endProc

endDefine

Сообщения программы:

Время возникновения ошибки: 12/18/05 12:15:28 PM

Ошибка VFP № 2059. Unhandled Structured Exception.

ErrorNo: 2071

Свойство UserValue созданного THROW объекта-исключения, будет содержать ссылку на этот объект.

Если команда THROW вызвана в методе и не находится внутри TRY-конструкции, то сгенерированное ею исключение будет обработано процедурой Error этого метода, если таковая существует. В противном случае будет задействован ON ERROR-обработчик или, при его отсутствии, – стандартный обработчик VFP.

При обращении к THROW вне TRY-конструкции выполнение программы прекращается. Запрещен вызов THROW в командном окне.

Замечание. Обычно команда THROW употребляется во вложенных TRY-конструкциях. Действие команды THROW, когда она расположена внутри TRY-конструкций, описано в разд. 7.5.3.

VFP поддерживает класс Exception только в PRG-файлах. Объекты-исключения не поддерживают ошибки, возникающие при работе с COM-объектами и ODBC, а также ошибки триггеров баз данных. Информацию о таких ошибках можно, однако, получить, употребив внутри TRY-конструкции функцию AERROR( ).

В тоже время значения, возвращаемые функциями ERROR( ), MESSAGE( ) и AERROR( ), если они использованы внутри TRY-конструкции, не всегда надежны. Поэтому для анализа ошибки следует употреблять объект исключение.

Замечание. См. также в справке VFP тему Exception class.

eltheenho

1

14.03.2012, 02:48. Показов 2531. Ответов 2


Студворк — интернет-сервис помощи студентам

Здравствуйте!
Столкнулся с одной проблемой при создании/запуске отчета. Значит отчет формируется на основе полей нескольких таблиц, в моем случаи это из 3 таблиц. После того, когда отчет сформирован (с помощью Report Designer) он запускается…все нормально. Но стоит только перезапустить VFP или просматривать отчет, запуская .exe — файл, как тут же VFP выдает ошибку «Alias <table name> is not found» Я так понял, что оно просто не видит всех таблиц. Можно ли как-то это исправить?
Заранее спасибо.

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

14.03.2012, 02:48

Ответы с готовыми решениями:

Like в VFP
Можно ли в VFP в конструкторе таблицы выставить ограничение на ввод символов, например, только…

Vfp + ms excel
Здравствуйте!
Скажите, возможно ли из Vfp создать шапку для excel через переменные?

APPEND GENERAL в VFP
Не могу понять:

Есть команда APPEND GENERAL

Пробую из Help’a:
CREATE TABLE MyGenTbl…

Нужна консультация по VFP
Дана програмка решения линейного уравнения методом гаусса в паскале, необходимо переписать либо…

2

107 / 107 / 0

Регистрация: 06.05.2011

Сообщений: 277

14.03.2012, 13:24

2

Перед выводом отчёта все необходимые таблицы должны быть открыты, но он сам их не открывает, поэтому в начале стартового модуля необходимо с помощью USE предварительно открыть таблицы. При этом желательно использовать не абсолютные пути, а относительные. Для указания папок поиска таблиц необходимо воспользоваться SET PATH.

1

eltheenho

14.03.2012, 20:16

3

Спасибо, суть я уловил

Все делается с помощью Data Environment, там можно добавлять нужные таблицы или локальные представления! Все работает

fox00017.gif

***
*bad date*
***
Cannot allocate screen map.
***
Cannot create program workspace.
***
Cannot find spell check program.
***
Cannot open configuration file.
***
Cannot run on MS-DOS before version 3.0.
***
Fatal error <expN> reporting error <expN>.
***
*Interrupted*
***
Invalid compact EXE file. Rebuild EXE.
***
Invalid or missing EXE file.
***
Logical expression required.
***
Popup too big, first <expN> entries shown.
***
Product has not been properly installed.
***
Source code not found.
***
Source code out of date.
***
Unable to locate desired version of Visual FoxPro.
***
Unable to process error.
***
Unknown error code <expN>.

0001

1
File does not exist.
3
File is in use.
4
End of file encountered.
5
Record is out of range.
6
Too many files open.
7
File already exists.
9
Data type mismatch.
10
Syntax error.
11
Function argument value, type, or count is invalid.
12
Variable «<variable>» is not found.
13
Alias is not found.
15
Not a table.
16
Unrecognized command verb.
17
Table number is invalid.
18
Line is too long.
19
Index file does not match table.
20
Record is not in index.
21
Length of memory variable strings exceeds amount of memory.
22
Too many memory variables.
23
Index expression exceeds maximum length.
24
Alias name is already in use.
26
Table has no index order set.
27
Not a numeric expression.
30
Row or column position is off the screen.
31
Invalid subscript reference.
34
Operation is invalid for a Memo, General, or Picture field.
36
Command contains unrecognized phrase/keyword.
37
You must use a logical expression with FILTER.
38
Beginning of file encountered.
39
Numeric overflow. Data was lost.
41
Memo file is missing or is invalid.
42
The LOCATE command must be issued before the CONTINUE command.
43
There is not enough memory to complete this operation.
44
Cyclic relation.
45
Not a character expression.
46
Expression evaluated to an illegal value.
47
No fields found to process.
50
Report file is invalid.
52
No table is open.
54
Label file is invalid.
55
Memory variable file is invalid.
56
Not enough disk space for «<file name>».
58
LOG( ): Zero or negative used as argument.
61
SQRT argument cannot be negative.
62
Cannot access characters beyond string.
67
Expression evaluator failed.
78
** or ^ domain error.
91
File was not placed in memory using the LOAD command.
94
Must specify additional parameters.
95
Statement is not allowed in interactive mode.
96
Nesting error.

0100

101
Cannot open file «<file>».
102
Cannot create file «<file>».
103
Allowed DO nesting level exceeded.
104
Unknown function key.
107
Operator/operand type mismatch.
108
File is in use by another user.
109
Record is in use by another user.
110
File must be opened exclusively.
111
Cannot update the Cursor object.
112
Invalid key length.
114
Index does not match the table. Delete the index file and re-create the index.
115
.DIF file header is invalid.
116
.DIF vector is invalid — .DBF field mismatch.
117
.DIF type indicator is invalid.
119
.SYLK file header is invalid.
120
.SYLK file dimension bounds are invalid.
121
.SYLK file format is invalid.
124
Printer redirection is invalid.
125
Printer is not ready.
127
View file is invalid.
130
Record is not locked.
138
No fields were found to copy.
152
Missing expression.
164
Menu title has not been defined with DEFINE PAD.
165
Menu has not been defined with DEFINE POPUP.
166
No menu items have been defined for this menu.
167
Menu item position must be a positive number.
168
Menu has not been defined with DEFINE MENU.
169
Cannot define menu item.
170
Cannot release menu item.
174
Cannot redefine menu in use.
175
Cannot redefine a popup that is in use.
176
Cannot clear menu that is in use.
177
Cannot clear popup that is in use.
178
Menu has not been activated with ACTIVATE MENU.
179
Menu has not been activated with ACTIVATE POPUP.
181
Menu specified in ACTIVATE MENU is already in use.
182
Menu specified in ACTIVATE POPUP is already in use.

0200

202
Invalid path or file name.
214
Window «<name>» has not been defined with DEFINE WINDOW.
215
Window has not been activated with ACTIVATE WINDOW.
216
Display mode is not available.
221
Left margin including indent must be less than the right margin.
222
Line number must be less than page length.
223
Column number must be between 0 and 255.
225
«<name>» is not a memory variable.
226
«<name>» is not a file variable.
227
Box dimensions are invalid.
228
Tab stops must be in ascending order.
230
Array dimensions are invalid.
231
Invalid argument used with the SET function.
255
Not a valid RapidFile database.
256
Not a valid Framework II database/spreadsheet.
279
Menu was not pushed.
287
Menu size is too small.
291
Expression used with ASIN( ) is out of range.
292
Cannot use 0 or negative as the argument for LOG10( ).
293
Expression used with ACOS( ) is out of range.
297
Lotus 1-2-3 version 2.0 file format is invalid.

0300

1000

1100

1102
Cannot create file.
1103
Invalid seek offset.
1104
Error reading file.
1105
Error writing to file.
1106
Cannot access file; transaction is in progress.
1108
Picture too big, corrupt, or in wrong format.
1111
Invalid file descriptor.
1112
Error closing the file.
1113
File is not open.
1115
Invalid operation for the Cursor object.
1117
Key field length does not match.
1124
Key exceeds allowed size.
1126
Record is too long.
1127
You must use a logical expression with a FOR or WHILE clause.
1130
‘field’ phrase is not found.
1131
The file specified in the FROM clause is empty.
1134
Variable must be in the selected table.
1140
FILTER expression exceeds allowed size.
1141
Unrecognized file revision. Re-create the index.
1145
Must be a character or numeric key field.
1147
Target table is already engaged in a relation.
1148
Expression has been re-entered while the filter is executing.
1149
Not enough memory for buffer.
1150
Not enough memory for file map.
1151
Not enough memory for filename.
1152
Cannot access the selected table.
1153
Cannot rename the file to different device.
1156
Duplicate field names.
1157
Cannot update the file.
1161
Too many records to browse or edit in the demo version.
1162
Procedure «<procedure>» is not found.
1163
Browse table is closed.
1164
Browse structure has changed.
1165
«<field>» is not related to the current work area.
1166
Cursor is corrupt or in wrong format.
1167
Icon is corrupt or in wrong format.
1168
Could not add icon to executable file.
1169
Project file is read-only.
1178
Application file «<file>» is not closed.
1193
Missing .RTT section.
1194
Link command failed.
1195
Object file «<file>» was compiled in a previous version of FoxPro.
1196
«<file>» is not a Visual FoxPro .EXE file.

1200

1201
Too many names used.
1202
Program is too large.
1206
Recursive macro definition.
1211
ELSE or ENDIF does not have corresponding IF statement.
1212
Structure nesting is too deep.
1213
CASE, ENDCASE, or OTHERWISE does not have corresponding DO CASE statement.
1214
ENDTEXT does not have corresponding TEXT statement.
1217
Picture error in GET statement.
1220
Command contains invalid character.
1221
Command is missing required clause.
1223
Invalid variable reference.
1225
Must be a memory or array variable.
1226
Must be a file variable.
1229
Too few arguments.
1230
Too many arguments.
1231
Missing operand.
1232
DIMENSION contains variable declaration without required subscript arguments.
1234
Subscript is outside defined range.
1235
Structure is invalid.
1236
Suspend program before using RESUME.
1238
No PARAMETER statement is found.
1241
Improper data type in the group expression.
1242
Syntax error in the field expression.
1243
Internal error: Too many characters in the report.
1245
Invalid expression in label definition file.
1246
Total label width exceeds allowed size.
1249
Too many READ commands are in effect.
1250
Too many PROCEDURE commands are in effect.
1252
Compiled code for this line is too long.
1253
Cannot rename the current directory.
1254
Cannot nest key labels.
1255
Key label «<label>» is invalid.
1256
Mismatched braces in key label.
1257
Key string is too long.
1258
Error in the PICTURE clause.
1294
FOXUSER.DBF file is invalid.
1296
Error reading the resource.
1297
Command is allowed only in interactive mode.
1298
«<name>» band is too large to fit on page.

1300

1300
Function name is missing ).
1304
Function name is missing (.
1306
Missing comma (,).
1307
Cannot divide by 0.
1308
Insufficient stack space.
1309
«<file>» is not an object file.
1310
Too many characters are specified in the PICTURE clause.
1313
Class creation canceled.
1337
Cannot nest the PRINTJOB command.
1338
File is the wrong version.

1400

1405
RUN|! command failed.
1410
Unable to create temporary work files.
1411
RUN|! command string is too long.
1412
Cannot locate the COMSPEC environment variable.
1420
OLE object is invalid or corrupted.
1421
Cannot activate the OLE server.
1422
Error saving the OLE object.
1423
Error creating the OLE object.
1424
Error copying the OLE object to Clipboard.
1426
OLE error code 0x»<name>».
1427
OLE IDispatch exception code «<name>».
1428
OLE IDispatch exception code %d from «<name>»: «<name>».
1429
«<name>».
1431
Maximum number of OLE arguments is exceeded.
1434
Class «<name>» has not been registered.
1462
«<name>» internal consistency error.
1465
SQL pass-through internal consistency error.
1466
Connection handle is invalid.
1467
Property is invalid for local Cursors.
1468
Property is invalid for a Cursor based on a table.
1469
Property value is out of bounds.
1470
Incorrect property name.
1471
Incorrect column format.
1473
Environment-level property is invalid.
1474
Invalid call issued while executing a SQLEXEC( ) sequence.
1475
Invalid call issued while executing a SQLMORERESULTS( ) sequence.
1476
Invalid call issued while executing a SQLTABLES( ) sequence.
1477
Invalid call issued while executing a SQLCOLUMNS( ) sequence.
1478
The ChildOrder property of a relation object in the data environment is no

longer valid. The relation is being removed.

1479
Invalid update column name «<name>».
1480
Warning: The connection sync/async mode cannot be set.
1481
Warning: The connection timeout cannot be set.
1482
Warning: The query timeout cannot be set.
1483
Warning: The connection packet size cannot be set.
1484
Warning: The next «<string>» modified records have already been updated

remote.

1485
Warning: Invalid data conversion(s) starting at record «<name>».
1486
Warning: Invalid memo field conversions starting at record «<name>».
1487
Warning: The connection transaction mode cannot be set.
1490
Saving a converted form as a class is not supported.
1491
No update tables are specified. Use the Tables property of the Cursor object.
1492
No key columns specified for the update table «<name>». Use the

«KeyFieldList» property of the Cursor object.

1493
SQL parameter is missing.
1494
View definition has been changed.
1495
Warning: The key defined by the KeyField property for table «<alias>» is not

unique.

1496
Warning: No information is available to check remote update conflicts.
1497
Connection name is invalid.
1498
SQL SELECT statement is invalid.
1499
SQL parameter «<name>» is invalid.

1500

1502
Cannot write to the record because it is in use.
1503
File cannot be locked.
1507
Screen code is too large for available memory.
1508
Error initializing OLE.
1509
Conversion canceled. Adjust the memo BLOCKSIZE.
1510
Invalid file format. If this is a dBASE file, it must be converted first. To

convert it, type MODIFY LABEL <labelfilename>.

1520
No database is open or set as the current database.
1521
This operation not supported for class member objects.
1522
Connectivity internal consistency error.
1523
Execution was canceled by the user.
1524
The selected printer driver does not support direct access.
1525
Function is not supported on remote tables.
1526
Connectivity error: «<name>».
1527
Cannot locate ODBC library, ODBC32.DLL.
1528
ODBC entry point missing, «<name>».
1529
File «<name>» already exists as part of a database.
1530
Fetching canceled; remote table is closed.
1532
Type conversion is not supported.
1533
This property is read-only.
1534
Database «<alias>» is not open.
1535
Cannot close this database because it is being used by a project container.
1536
Function is not supported on native tables.
1538
A stored procedure is executing.
1539
Trigger failed.
1540
Session number is invalid.
1541
Connection «<name>» is busy.
1542
Base table fields have been changed and no longer match view fields. View

field properties cannot be set.

1543
Type conversion required by the DataType property for field «<name>» is

invalid.

1544
DataType property for field «<name>» is invalid.
1545
Table buffer for alias «<name>» contains uncommitted changes.
1546
Cannot close table during execution of a table-bound expression.
1547
Cannot insert an empty row from a view into its base table(s).
1548
Table «<alias>» has one or more non-structural indexes open. Please close

them and retry the Begin Transaction.

1549
Data session #<number> cannot be released with open transaction(s).
1550
.DBC internal consistency error.
1551
File «<name>» is an invalid database.
1552
File «<name>» is not a database.
1553
File «<name>» is a database.
1554
Error instatiating cursor object. Table «<alias>» cannot be opened. Object

will be ignored.

1557
The database must be opened exclusively.
1558
File «<name>» is not part of a database.
1559
Property is not found.
1560
Invalid property value type.
1561
Database is invalid. Please validate.
1562
Cannot find object «<name>» in the database.
1563
Cannot find view «<name>» in the current database.
1564
Table «<name>» already exists in the database.
1565
File «<name>» is part of a database.
1566
Cannot issue the PACK command on a database while its tables are in use.
1568
View fields have been changed. The Update and Key field properties have been

reset to the default values.

1569
Database «<name>»: File access denied.
1570
Database is read-only.
1571
The name «<name>» is already used for another object. Please choose a

different name.

1575
Object name is invalid.
1576
Class «<name>» is not found in the class library.
1577
Table «<name>» is referenced in a relation.
1578
Invalid database table name.
1579
Command cannot be issued against a table with Cursors in table buffering mode.
1580
Feature is not supported for non-.DBC tables.
1581
Field «<name>» does not accept null values.
1582
Field «<name>» validation rule is violated.
1583
Record validation rule is violated.
1584
Error reading a property from the database. The property is ignored.
1585
Update conflict. Use TABLEUPDATE( ) with the lForce parameter to commit the

update or TABLEREVERT( ) to roll back the update.

1586
Function requires row or table buffering mode.
1587
Illegal nested OLDVAL( ) or CURVAL( ).
1588
INSERT cannot be issued when row or table buffering is enabled or when

integrity constraints are in effect.

1589
Table or row buffering requires that SET MULTILOCKS is set to ON.
1590
BEGIN TRANSACTION command failed. Nesting level is too deep.
1591
END TRANSACTION command cannot be issued without a corresponding BEGIN

TRANSACTION command.

1592
ROLLBACK command cannot be issued without a corresponding BEGIN TRANSACTION

command.

1593
Command cannot be issued within a transaction.
1594
Illegal to take file lock after record locks in transaction.
1595
Update conflict. Some of your changes in the current row batch were commited.

Use TABLEUPDATE( ) with the lForce parameter to commit the update or the

manual transaction to roll back the update.

1596
Table buffering is not enabled.
1597
Views require either DB_BUFOPTROW or DB_BUFOPTTABLE.
1598
Rule and trigger code must balance transaction usage.
1599
Data session #<number> was forced to ROLLBACK back all transactions to avoid

deadlock.

1600

1600
Not enough memory to open a table with the USE command.
1604
No menu bar is defined.
1605
No menu is defined.
1607
Maximum menu items allowed (128) is exceeded.
1608
Maximum menus allowed (25) is exceeded.
1609
Maximum menu item length (50) is exceeded.
1611
Menu items and titles must be type Character.
1612
No such menu or menu item is defined.
1621
No menu titles have been defined for this menu.
1632
Window file format is invalid.
1637
File must be opened exclusively to convert the Memo file.
1642
Color set resource is not found.
1643
Printer driver is corrupted.
1644
Printer driver is not found.
1645
Report contains a nesting error.
1646
Total field type must be Date or Numeric.
1647
Field expression contains an invalid data type.
1649
No previous PRINTJOB command to correspond to this command.
1651
CANCEL or SUSPEND is not allowed.
1652
Invalid use of a Visual FoxPro function as an array.
1653
Label nesting error.
1657
Column number must be between 0 and the right margin.
1659
The table has memo fields that cannot be converted while open read-only.
1661
Microsoft Excel file format is invalid.
1662
Lotus 1-2-3 version 1.0 file format is invalid.
1670
Multiplan version 4.0 file format is invalid.
1671
Cannot import from password-protected file.
1672
Cannot append from password protected file.
1673
Symphony version 1.0 file format is invalid.
1674
Symphony version 1.1 file format is invalid.
1678
Lotus 1-2-3 version 3.0 file format is invalid.
1679
Import only Worksheet A for Lotus 1-2-3 version 3.0 files.
1680
Worksheet A for Lotus 1-2-3 version 3.0 file is hidden.
1681
PREVIEW clause is not allowed with OFF/NOCONSOLE or TO PRINT/FILE.
1682
Not a user-defined window.
1683
Index tag is not found.
1684
Index tag or file name must be specified.
1685
Project file is invalid.
1686
Form file «<name>» is invalid.
1687
Menu file is invalid.
1688
Paradox file format is invalid.
1689
Cannot build an .APP or .EXE file without a main program.
1690
Table operation is invalid during indexing.
1691
Library file is invalid.
1692
Unresolvable REGIONAL name conflict.
1693
Cannot find the menu-generation program.
1694
Too many extensions are specified.
1695
COLUMN | FORM | ALIAS | NOOVERWRITE | WIDTH are only allowed with the FROM

clause.

1696
NOWAIT | SAVE | NOENVIRONMENT | IN | WINDOW clauses are not allowed with the

FROM clause.

1698
COLUMN | ROW | ALIAS | NOOVERWRITE | SIZE | SCREEN are only allowed with the

FROM clause.

1700

1705
File access is denied.
1706
Cannot sort .IDX files in descending order.
1707
Structural .CDX file is not found.
1708
File is open in another work area.
1710
MULTISELECT or MOVER clause is not supported for PROMPT style menus.
1711
API library revision mismatch. Rebuild library.
1712
Field name is a duplicate or invalid.
1713
Field width or number of decimal places is invalid.
1715
Server «<server>» is not found.
1716
Queue «<queue>» is not found.
1717
Unable to generate a printer driver.
1718
File is read-only.
1719
Object file «<name>» is in use and cannot be removed from memory.
1720
Cannot issue the SET FORMAT command while a READ command is in progress on a

format file.

1722
Preprocessor expression is invalid.
1723
Mismatched #IF/#ELSIF/#ELSE/#ENDIF.
1724
Missing #ENDIF.
1725
Constant is already created with #DEFINE.
1726
API library is not found.
1727
A .DBF-style Help file is required.
1728
Color scheme is reserved.
1731
Cannot modify a base class.
1732
Data type is invalid for this property.
1733 Class definition «<name>» is not found.
1734
Property «<name>» is not found.
1735
Error in the class definition.
1736
Error instantiating the object.
1737
«<name>» is a method, event, or object.
1738
Property «<name>» is not a method or event.
1739
Property setting will not take effect until data environment reloaded.
1740
«<name>» is a read-only property.
1741
Cannot add «<name>». Class definition is cyclical.
1742
The data source for this object must be a variable reference.
1743
Property «<name>» is read-only.
1744
Object class is invalid for this container.
1746
Class file name for «<name>» is not valid.
1747
Class file «<name>» is invalid.
1749
Form (.SCX) file must contain at least one Form.
1750
File version was created in a later version of Visual FoxPro than the current

version.

1751
Class file version is greater than the current version.
1752
Class is in use by MODIFY CLASS.
1753
Cannot load 32-bit DLL «<name>».
1754
Cannot find entry point «<name>» in the DLL.
1755
Cannot add an object to this class.
1757
Property «<name>» is protected.
1758
Cannot change property «<name>» in SetAll method.
1759
Expression is invalid. Use a valid expression for «<name>» property.
1760
Member «<name>» is a class member.
1761
Class «<name>» already exists.
1762
Class «<name>» is not found.
1763
Property «<name>» already exists.
1764
Array is not a member of the parent object.
1765
Method contains syntax errors. Method is not saved.
1766
Object «<name>» is not found.
1767
Parent object will not allow this property setting for «<name>».
1768
Cannot add this object to a Grid.
1769
Cannot add this object to a Column.
1770
Cannot clear a class that is in use.
1771
A member object with this name already exists.
1773
Database object type is invalid.
1774
No sheet is found.
1775
Worksheet «<name>» is not found.
1776
Class «<name>» is in use.
1777
Cannot modify the structure of a view cursor.
1778
The table must be converted before appending.
1779
Error adding «<name>» to the object. Duplicate member/property name.
1780
This array element has been defined as an object and cannot be redefined in

the class definition.

1781
An objects control source cannot be set to its Value property.
1782
This OLE property cannot be an expression.
1795
Cannot arrange an untransported form.
1796
No records are found for the current platform.
1797
Error occurred in conversion.
1798
Cannot find the converter program.

1800

1800
SQL: Internal error.
1801
SQL: Error correlating fields.
1802
SQL: Cannot locate table.
1803
SQL: HAVING clause is invalid.
1804
SQL: Statement is invalid.
1805
SQL: Too many subqueries.
1806
SQL: Column «<field> | <variable>» is not found.
1807
SQL: GROUP BY clause is invalid.
1808
SQL: ORDER BY clause is invalid.
1809
SQL: Out of memory.
1810
SQL: Invalid use of subquery.
1811
SQL: Aggregate on non-numeric expression.
1812
SQL: Statement too long.
1813
SQL: Use of UNION in subquery is invalid.
1814
SQL: Queries of this type are not supported.
1815
«<cursor>» must be created with SELECT … INTO TABLE.
1818
SQL: FROM clause is required.
1819
SQL: DISTINCT is invalid.
1820
SQL: SELECT contains invalid *.
1822
SQL: Invalid aggregate field.
1825
SQL: Subquery is invalid.
1826
SQL: SELECT is invalid.
1828
SQL: Illegal GROUP BY in subquery.
1830
SQL: Index is not found.
1831
SQL: Error building temporary index.
1832
«<field> | <variable>» is not unique and must be qualified.
1833
SQL: WHERE clause is invalid.
1834
SQL: Too many UNIONs.
1839
SQL: Operation was canceled.
1841
SQL: Too many columns referenced.
1842
SQL: Subquery nesting is too deep.
1844
Cannot nest aggregate functions.
1845
SQL expression is too complex.
1846
Cannot GROUP by aggregate field.
1851
SELECTs are not UNION compatible.
1860
Subquery returned more than one record.
1864
SQL: Too many fields in UPDATE.
1865
SQL: Invalid SET expression in UPDATE.
1870
ALTER TABLE operation interrupted.
1871
Cannot DROP all existing columns.
1872
Too many columns.
1875
Too many key changes defined.
1877
No rule to DROP.
1878
No default value to DROP.
1879
No primary key.
1880
Related table is not found in current database.
1881
Error loading: «<error>».
1882
Related tag is not found or not primary or candidate.
1883
Primary key already exists.
1884
Uniqueness of index «<name>» is violated.
1885
Only structural tags can be defined as candidate.
1886
Index does not accept NULL.
1887
Illegal recursion in rule evaluation.
1888
Tag name is too long.
1889
A table in multiple relationships can only have one child order.

1900

1903
String is too long to fit.
1907
Drive specifier is invalid.
1908
Length or decimal place argument is invalid.
1910
Illegal printer driver recursion.
1911
Localized product is required for this environment.
1912
Operation is invalid for a General field.
1913
Field must be a General field.
1914
Code page number is invalid.
1915
Collating sequence «<name>» is not found.
1916
To use this feature, set CODEPAGE=AUTO in your CONFIG.FPW file and restart

Visual FoxPro.

1918
File name is too long.
1922
Volume does not exist.
1923
Object «<name>» is not found.
1924
«<name>» is not an object.
1925
Unknown member «<name>».
1926
Cannot nest class definitions.
1927
Statement is not valid in a class definition.
1928
Statement is only valid within a class definition.
1929
«<name>» can only be used within a method.
1930
Cannot redefine «<name>».
1931
Statement is not in a procedure.
1932
«<name>» cannot be closed while suspended.
1933
File «<name>» is not closed.
1934
Statement only valid within a method.
1935
The current object does not inherit from class «<name>».
1937
Procedure file «<name>» is not found.
1938
Object is not contained in a «<name>».
1939
WITH/ENDWITH mismatch.
1940
Expression is not valid outside of WITH/ENDWITH.
1942
Objects cannot be assigned to arrays.
1943
Member «<name>» does not evaluate to an object.
1944
Cannot find the builder program.
1945
The current object has been released.
1947
Expression is too complex.
1948
Cannot modify a class that is in use.
1949
Class name is invalid.
1950
Class definition «<name>» is recursive.
1951
Cannot clear the object in use.
1953
Feature is only available if the object is in design mode.
1954
The builder program is already running.
1955
WIN.INI/registry is corrupted.
1956
Printer access denied.
1957
Error accessing printer spooler.
1958
Error loading printer driver.
1960
Illegal redefinition of variable «<name>».
1961
A subdirectory or file «<name>» already exists.
1962
The directory is not empty.
1963
Directory is not found.
1964
No PageFrame or Page is found in FormSet or Form with WindowType set to READ

or READ MODAL.

1965
One of the members of this class is based on a nonvisual class. Cannot write

.VCX file.

1966
Data environment is already loaded.
1967
Data environment is already unloaded.
1968
One of the members of this Form or FormSet is based on a nonvisual class.

Cannot write .SCX.

1969
The clipboard contained one or more objects that could not be added to the

container. Those objects were not pasted.

1970
Cannot reopen project file «<name>».
1971
Cannot compile until the current COMPILE command has completed.
1972
Array «<name>» is in use.
1973
Error creating table: «<name>».
1974
Arrays cannot be assigned to array elements.
1975
Member object «<name>» has not been instantiated.
1976
Cannot resolve back link.
1977
Exclusive open required to update this file. Please reopen.
1978
Cannot visually modify a class of this type.
1979
Cannot visually modify a class based on a nonvisual class.
1981
Compile error in file «<name>».
1982
The TO clause can only be used with modal Forms and FormSets.
1983
«<name>» objects cannot return a value.
1984
The fields in table «<name>» did not match the entries in the database.
1985
Object already has a data environment, cannot use another one with the SaveAs

method.

1986
GDI memory is low, close one or more windows and try again.
1987
Objects cannot be programmatically added to the Form Designers FormSet.
1988
Currency value is out of range.
1989
Objects cannot be programmatically deleted from the Form Designer.
1991
Form file «<name>» is from a previous version of FoxPro. It must be converted

to the current format before it can be executed.

1993
Class library file «<name>» is not found.
1994
Include file «<name>» is not found.
1995
Error loading the data environment. Table is in use.
1996
The validation rule for field «<name>» does not evaluate to a logical or NULL

type.

1997
The default value for field «<name>» does not evaluate to the correct type for

the field.

1998
The index expression for index «<name>» contains an invalid reference to a

Memo, General, or Picture field.

1999
Function is not implemented.

Содержание

  1. [Закрыто] Ошибка Microsoft Visual FoxPro
  2. Сообщений 4
  3. 1 Тема от dea 2012-05-02 13:00:43
  4. Тема: Ошибка Microsoft Visual FoxPro
  5. 2 Ответ от Александр Касперович 2012-05-03 09:04:40
  6. Re: Ошибка Microsoft Visual FoxPro
  7. 3 Ответ от dea 2012-05-03 13:08:03 (2012-05-03 13:36:03 отредактировано dea)
  8. Re: Ошибка Microsoft Visual FoxPro
  9. 4 Ответ от Александр Касперович 2012-05-03 15:50:00
  10. Re: Ошибка Microsoft Visual FoxPro
  11. Сообщений 4
  12. Visual foxpro не работает
  13. Visual foxpro не работает

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений 4

1 Тема от dea 2012-05-02 13:00:43

  • dea
  • Пользователь
  • Неактивен
  • Зарегистрирован: 2012-04-28
  • Сообщений: 2

Тема: Ошибка Microsoft Visual FoxPro

Установила у себя на машине версию морфа — 37.23.274 от 30 марта 2012 г. При запуске выдает ошибку Microsoft Visual FoxPro: Ошибка в файле ресурсов. Перезаписать его новым, пустым файлом? Да/Нет
И каждый раз такое предупреждение, даже если выбрать Да.
При выборе региона выдает ошибку:
Невозможно обновить курсор SETUP, так как он только для чтения.
Пункты меню — Справочники и Общее — недоступны.
В файле руководства пользователя об этих ошибках ни слова. Как с этим дальше вообще можно работать?

2 Ответ от Александр Касперович 2012-05-03 09:04:40

  • Александр Касперович
  • Администратор
  • Неактивен
  • Зарегистрирован: 2011-01-28
  • Сообщений: 1,243

Re: Ошибка Microsoft Visual FoxPro

Вероятно у Вас установлена операционная система Windows 7. И у Вас, в том месте куда установлен ПК МОРФ, запрещены — запись, сохранение, изменение файлов.
Обратитесь пожалуйста к своему системному администратору, что-бы он дал Вам разрешение на — запись, сохранение, изменение файлов, в том месте, где установлен ПК МОРФ. Либо пусть он установит ПК МОРФ в то место, где все — эти операции разрешены.

3 Ответ от dea 2012-05-03 13:08:03 (2012-05-03 13:36:03 отредактировано dea)

  • dea
  • Пользователь
  • Неактивен
  • Зарегистрирован: 2012-04-28
  • Сообщений: 2

Re: Ошибка Microsoft Visual FoxPro

Действительно, ОС — Windows 7. На своей машине у меня пользователь с правами локального администратора с правами на запись и удаление на всех дисках. Морф — ставится на диск С. Запись и удаление — полный доступ.
Но и ошибки постоянного характера.
Подскажите, как ещё можно обойти эти ошибки? Возможно ли, что морф запускается не из-под учетной записи?

4 Ответ от Александр Касперович 2012-05-03 15:50:00

  • Александр Касперович
  • Администратор
  • Неактивен
  • Зарегистрирован: 2011-01-28
  • Сообщений: 1,243

Re: Ошибка Microsoft Visual FoxPro

Как вариант можно, либо через ярлык на рабочем столе, либо через исполняемый файл morf.exe, вызвать контекстное меню, путём удержания правой клавиши мыши на ярлыке или файле, перейти в закладку совместимость, там в самом низу поставить галочку напротив пункта «Запуск от имени администратора». После этого сохранить изменения. При следующем запуск программа запустится с правами администратора и будет иметь доступ на запись, сохранение, изменение файлов.

Сообщений 4

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Источник

Visual foxpro не работает

Сообщения: 25157
Благодарности: 3792

Конфигурация компьютера
Материнская плата: MSI G41M-P33 Combo
HDD: SSD OCZ-AGILITY3 — 120GB
ОС: Windows 10 Pro x64 (11082)

Вместо укажите путь к существующей папке на диске.

Если такой параметр есть, проверьте существует ли папка, указанная в его значении, и достаточно ли дискового пространства на том диске, где располагается эта папка.

Это сообщение посчитали полезным следующие участники:

Visual foxpro не работает

Источник

FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Здравствуйте.
Есть у меня программа на фоксе собранная в exe.

Способ запуска через bat:

В 1 прекрасный момент момент, после очередной сборки файла всё это дело перестало работать.
Запуск exe файла на прямую работает. пока что (на Win 10 было так-же)

Я не пишу на фоксе, но был бы признателен хотя-бы минимальным зацепкам в происходящем.

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
of63

Сообщений: 21699
Откуда: Н.Новгород

Содержимое .bat файла точно какое?
Запуск EXE «напрямую работает» в ОС какой разрядности?
Если раньше работало на какой-то машине, но после «пересборки» перестала, то виновата «пересборка», наверное.

Сравни размеры файла после пересборки, если сильно отличаются, то. Как точка сборки у дон Хуана )

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
ssa

Сообщений: 12724
Откуда: Москва

kevingr
Здравствуйте.
Есть у меня программа на фоксе собранная в exe.

Способ запуска через bat:

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
Igor Korolyov

Сообщений: 34285

Ну тут из «заморочек» только ограничение affinity — чтобы лишь на 1 CPU сей антиквариат работал.
Возможно пришла пора перейти уж на досбокс или что-то такое. Не знаю насколько адекватно запускает дос-процессы утилита psexec, и насколько корректно работает ntvdm при попытке привязки запускаемого процесса к некоторому ядру.
Из самого простого — сразу после перезагрузки этот батник работает? А если после перезагрузки пару раз «напрямую» эту прогу (или какую другую досовскую) позапускать — не ломается ли?

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

of63
Содержимое .bat файла точно какое?
Запуск EXE «напрямую работает» в ОС какой разрядности?
Если раньше работало на какой-то машине, но после «пересборки» перестала, то виновата «пересборка», наверное.

Сравни размеры файла после пересборки, если сильно отличаются, то. Как точка сборки у дон Хуана )

Это основная строка запуска на XP.
ОС Xp 32 sp3.
На всех машинах. (80)
Размер отличается на 4Кб. (общий размер 6,96Мб)

Вообще не понял.

Я не пишу на фоксе, но одна из моих задач — поддерживать работоспособность и, по возможности, развивать программу.

Я сомневаюсь что смогу организовать работу досбокса с всем функционалом, WIN печать, запуск внешних переложений и т.д. Да и последний раз когда я так делал у меня отваливалась буква «Р».

После перезагрузки всё так-же, стабильно, не работает.

Я откатил версию ехе и всё стало нормально.
Такая же проблема наблюдалась на win 10, сначало перестал работать bat, запускали через exe на прямую, потом перестал работать и exe, пришлось так

В do всего 1 строчка «do main.exe» в конфиге тоже 1 строчка «codepage=866».

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
of63

Сообщений: 21699
Откуда: Н.Новгород

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
Igor Korolyov

Сообщений: 34285

Для XP обновления то уж много лет как не прилетают автоматом, хотя сравнительно недавно (в этом году) и было выпущено какое-то Security обновление — помоему оно было связано с RDP, так что есть некоторый минимальный шанс что и на psexec оно могло повлиять. Сам psexec, кстати, вполне возможно что с 2012-го года обновлялся.
А так можно лишь посоветовать штатные шаги решения проблем — отключить антивирус, поудалять (пусть бы и временно) ненужный софт (прежде всего околосистемный — типа сторонних файерволов, систем безопасности и ограничения доступа), поиграться с драйверами (убрать видео, попробовать на штатном vga). Совершенно очевидно что проблема не со стороны программы имеет место быть, если при неизменности этой самой программы ранее стабильно работавшее ПО сломалось.
Надеюсь что конфигурация для ntvdm по ходу дела тоже не изменялась (как там было, не помню уж — файлик config.nt и какие-то ключики в реестре для локализации).
Кстати, как я помню, одним из вариантов запуска дос-прог является создание pif файла, где отдельно от всей системы (от глобального config.nt) настраивается и память и собственно все эти files= и прочее — может быть попробовать таки через этот способ запускать программу?

P.S. Ну и ждём что нам расскажет специалист по FPD товарищ Simple

Исправлено: Igor Korolyov, 21.09.19 15:39

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
of63

Сообщений: 21699
Откуда: Н.Новгород

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
Simple777

Сообщений: 31615

Не специалист, а подвижник. За все время использования FPD не удалось разобраться только с одним вопросом — почему одни Windows при нажатии на крестик закрытия DOS-окна приложения выдают предупреждающее сообщение о возможной потере данных, а другие закрывают без всяких предупреждений.
В остальном же все известные проблемы работы FPD 2.6 под Windows так или иначе решены.
В данном же частном случае надо попробовать «метод салями», то бишь по кусочкам «отрезая» проверять, с какого именно момента «не работает». Если не работает exe, можно проверить работу app или даже запустить для проверки на проблемно компе и *.prg
Проверить работу из командной строки. Можно даже винду загрузить в безопасном режиме и проверить. Много чего можно.
Иногда и аппаратная часть начинает барахлить. Причин может быть много и разных.

Ещё может Криспа чего добавит.

Исправлено: Simple777, 21.09.19 16:38

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Ключевой вопрос, может ли это быть связанно с размерами файла, каких-то принципиальных изменений не вносилось, тем более не была затронута точка входа, её годами не кто не трогал.

И тут бах, окно консоли на секунду и офлайн, 80 машин. а не 1. Без обновлений от мелкасофта и уж тем более без обновлений psexec.

Это фигня, труднее объяснить почему на части машин (машины одинаковые) с 2мя экранами фокс ложит 2й экран в full режиме, а на части дублирует, и как соответственно этого избежать =)

В очередной раз всем спасибо, есть над чем подумать.

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
of63

Сообщений: 21699
Откуда: Н.Новгород

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Здравствуйте всем.
Ошибка была до ужаса банальна, и такое развитие получила из за невнимательности.

В одной из процедур была описка, в строке вызова другой процедуры, и длинна имени получилась не 8 а 9 символов. Как следствие в проект при каждой сборке добавлялась копия данной процедуры, а сборка осуществлялась почти каждый день. >500 одинаковых процедур выкинуто из проекта и всё прекрасно работает.

Остаётся вопрос в какой потолок я упёрся, в потолок веса exe файла, или в потолок количества процедур в проекте (>1500). Проведу эксперимент.
Всем спасибо.

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
akvvohinc

Сообщений: 3339
Откуда: Москва

Если ошибка была только в строке вызова, то откуда брались те 9-символьные разноименные процедуры, которые добавлялись в проект?
Файл (копия чего?) не создастся только потому, что вы написали вызов несуществующей процедуры.

Опишите, что, по-вашему, происходит, когда вы вместо А2345678() вызываете А23456789().

Исправлено: akvvohinc, 24.09.19 09:55

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Если ошибка была только в строке вызова, то откуда брались те 9-символьные разноименные процедуры, которые добавлялись в проект?
Файл (копия чего?) не создастся только потому, что вы написали вызов несуществующей процедуры.

Опишите, что, по-вашему, происходит, когда вы вместо А2345678() вызываете А23456789().

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
Igor Korolyov

Сообщений: 34285

Генератор кода? Ну да, он в теории может плодить копии — хотя странно, по идее должен просто падать на DOS системе с лимитом имени файла 8.3

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
of63

Сообщений: 21699
Откуда: Н.Новгород

Он не отсекал лишнее посе 8ми символов?

() Вообще не помню, как жид в системе 8.3 именования файла, страшный сон. Правда сейчас уже напрягает общая длина (с путем ) имя файла 255, это пробла уже была не раз.

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
akvvohinc

Сообщений: 3339
Откуда: Москва

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
kevingr
Автор

Сообщений: 8

Здравствуйте.
Я уже писал что не являюсь программистом на fox 2/6.
Дайте мне время, я попытаюсь разобрать все процедуры и объяснить более подробно.

Пока что я понял только то что:
Если в файле qwe.prg есть строчка do А23456789 то при компиляции ошибки не возникает а вот при сборке, не найдя файл А23456789.prg подгружался по совпадению первых 8ми, т.е А2345678.prg

Да да, знаю бред.

Re: FoxPro 2.6 Windows XP и неожиданное прекращение работы
akvvohinc

Сообщений: 3339
Откуда: Москва

kevingr
Пока что я понял только то что:
Если в файле qwe.prg есть строчка do А23456789 то при компиляции ошибки не возникает а вот при сборке, не найдя файл А23456789.prg подгружался по совпадению первых 8ми, т.е А2345678.prg

Да да, знаю бред.

Проверил — все так и оказалось.
При каждой сборке EXE командой BUILD EXE в этом случае в проект добавляется А2345678.prg, а размер EXE растет.

Единственное, что указывает на ошибку (если не открыть сам проект), это создающийся файл ошибок qwe.err с текстом ошибки:
Program C:QWE.PRG has the following errors:
Proc./Func. A23456789 — Undefined

Эксперименты показали, что EXE в этом случае (достаточно и одного А2345678.prg в проекте) валится по сообщению:
Cannot locate the desired version of FoxPro

Но происходит это только в том случае, если строится compact-exe.

Если же строить EXE командой:
BUILD EXE qwe FROM qwe STANDALONE

то указанная ошибка не выдается, программа стартует нормально, а свалится лишь при вызове A23456789() (если вывод ошибок не заглушен по ON ERROR):
File ‘A23456789’ does not exist.

(в моей немалой практике работы с FPD таких случаев не было — интересно спустя 30 лет узнать что-то новое )

Проверил также, как работает VFP в этом же случае — файл А2345678.prg в проект не добавляется.

Источник

Возможно, вам также будет интересно:

  • Taberror inconsistent use of tabs and spaces in indentation python ошибка
  • T6sp exe call of duty black ops 2 ошибка при запуске
  • T62a lan ошибка сети
  • T520 плоттер ошибка картриджа
  • T2t innosilicon 30th ошибка 35

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии