- Remove From My Forums
-
Question
-
FOR XX = 1 TO 15 STEP 1
*
*
*
NEXT XX && <— Error is here rarelyUsing the For/Next statement, the Nesting error arrises
rarely
why this happens ?
Answers
-
If you try to compile this you get such a compile error:
For xx = 1 to 10
If xx=1
Else
Next xxWhat’s missing is no not NEXT or ENDFOR, but ENDIF. So look out for any nesting error in code inside the loop.
Bye, Olaf.
Olaf Doschke — TMN Systemberatung GmbH http://www.tmn-systemberatung.de
-
Proposed as answer by
Saturday, December 13, 2014 9:38 AM
-
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:23 AM
-
Proposed as answer by
-
LOCAL ii as integer FOR ii = 1 TO 15 STEP 1 WAIT WINDOW "ii = " + STR(ii, 4) NEXT ii
The above replicates the FOR loop you are using.
I have not received any errors after numerous runs of the above.
One thing to point out is that the NEXT ii statement is technically incorrect.
It should be just NEXT — so
LOCAL ii as integer FOR ii = 1 TO 15 STEP 1 WAIT WINDOW "ii = " + STR(ii, 4) NEXT
The English Bob
-
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Saturday, December 13, 2014 9:38 AM -
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:23 AM
-
Proposed as answer by
-
What means «rarely»? Are you able to reproduce this error? If not then you cannot fix it probably. And I can say it is either a bug in your code or in VFP itself.
NEXT can generate Nesting error if the FOR command fails or if the VFP forgets about it etc. etc.
Did you try the VFP Compiler from
baiyujia? Does the bug appears in compiled code?-
Edited by
Pavel Celba
Thursday, October 30, 2014 11:34 PM
link added -
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Saturday, December 13, 2014 9:39 AM -
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:23 AM
-
Edited by
-
I remembered and found a tek-tips thread I wrote about having ERROR 96 «Nesting Error» at runtime.
http://www.tek-tips.com/viewthread.cfm?qid=1722110
The problem was never resolved, but in my case remained a one time only error. If ou have his rarely, but still too often, the best thing you may do is rewrite that passage to something else. Perhaps you put the large CASE statement into a procedure or other
method.Taken from the tek-tips thread, one thinkable way to have this error at runtime is causing the issue mentioned in the help, an EXIT outside of a loop.
This here compiles and errors at runtime with error 96:
lcMacro = "Exit" &lcMacro
Nevertheless, this wasn’t my problem, nor do I think you do something causing an error by macro substitution.
It’s strange enough, that there is a native error number 96, while this rather is an error not thinkable at runtime, if there is no nesting error found at compile time. And compile time errors don’t have an error number, they are output and in case they’re
fatal they stop compilation.Bye, Olaf.
Olaf Doschke — TMN Systemberatung GmbH http://www.tmn-systemberatung.de
-
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Saturday, December 13, 2014 9:39 AM -
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:23 AM
-
Proposed as answer by
-
To evaluate a nesting error, you have to evaluate the entire program. Sometimes the error can be caused in a program called after it (which makes it a little bit tricky). For example, your program is calling another procedure
Fernando, even when your comment is correct, about no need to put the variable after NEXT, i.e. FOR x=1 to 4 … NEXT xx, could be read as just NEXT; adding the variable, will make it easier to read, specially with a big code inside
As per procedure, I always add a comment when closing SCAN..ENDSCAN, DO WHILE..ENDDO, FOR..NEXT of which variables I am referring to, and many cases add the condition on the comment (at the end)
-
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Saturday, December 13, 2014 9:39 AM -
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:24 AM
-
Proposed as answer by
-
One computer, 3 out of 100 … you should also think about hardware problems.
-
Marked as answer by
Ed Price — MSFTMicrosoft employee
Monday, March 16, 2015 8:24 AM
-
Marked as answer by
Nesting error at runtime?
(OP)
19 Nov 13 09:12
The strangest things happen lately:
I get error 96 (Nesting error) ereported in a certain inherited method, but in no particular line number (lineno() is 0)
This seems very weird to me, as a nesting error would stop the compilation at build time and would never be able to happen at runtime. The only way a nesting error could be expected at runtime is due to Execsript(), which is not in play here. Even macro substitution cannot cause it, as you can’t substitute anything needing multi line code to be nested at all.
So the master question is: In what circumstances could a nesting error occur?
One detail: The method in question is called PreSaveHook and called from the save method of a data access class:
CODE
If Not This.PreSaveHook() *--- If presave conditions fail, cancel save Return CANCEL Endif
This is the lowest nesting level of the save method, so no nesting can be broken on this level, too. One further mentionable thing is, that data access objects may be «stacked», in that a parent object starts a transaction and trigger child objects save, after itself successfully saved.
At least it’s not urgent, because it wasn’t reproducable, but it would good to know how to get at the source of a nesting error, if one happens. ASTACKINFO is on my list, I thought it’s already used in the general error handler, but no stack info is reported in the error screenshot. Line 0 is something I normally only get, if a database trigger fails, but in this case the backend is MS SQL Server, not a DBF of a DBC.
Could a network error cause some object to fail and cause a nesting error?
Bye, Olaf.
*** | *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. |
Article: Q192081
Product(s): Microsoft FoxPro
Version(s): WINDOWS:5.0,5.0a,6.0
Operating System(s):
Keyword(s):
Last Modified: 13-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a, 6.0
-------------------------------------------------------------------------------
SYMPTOMS
========
Using the Printer button on the Visual FoxPro Standard toolbar while a report is
in Preview mode causes the following error to occur:
Report contains a nesting error.
RESOLUTION
==========
- Select the Printer icon on the Print Preview toolbar instead of the Printer
icon on the Visual FoxPro Standard toolbar.
-or-
- Add a NOWAIT clause to the end of the REPORT...PREVIEW command.
STATUS
======
Microsoft is researching this problem and will post new information here in the
Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
1. Create a quick report with a table and save the report as MyRpt.
2. Run the following code in Command window:
USE <tablename>
REPORT FORM myRpt PREVIEW
3. When the Report Preview window opens, click the Printer button on the Visual
FoxPro Standard toolbar, not the printer button on the Print Preview toolbar,
to print the report and you see the following error message appear:
Report contains a nesting error.
If a report is being edited using the Report Designer, then the error message
does not occur when that report is printed, as outlined in this article.
Additional query words: kbVFp500a kbVFp500 kbVFp600 kbPrinting kbReportWriter
======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP600 kbVFP500a
Version : WINDOWS:5.0,5.0a,6.0
Issue type : kbprb
Solution Type : kbpending
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED «AS IS» WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.
Господа!
Есть одна программулина на FoxPro (древний под ДОС), работала нормально некоторое время, потом без видимой причины стала ругаться «nesting error». я так понимаю ошибка это синтаксическая, дело в несоответствии открывающего и закрывающего оператора (if endif итд). посмотрел исходник, там на мой взгляд все верно. да и не менял там никто ничего!
вообщем если кто может что-нибудь конкретное сказать (или спросить) буду рад.
Внимательней надо смотреть. Мож где что лишнего впечатал или затер. «Ошибка вложения» пишет,.
Программку написал не я, все работало некоторое время. потом стала ругаться как я писал выше. Никто в исходнике ничего не менял, пробовал достать из арихвной копии, тех времен, когда работала прога — не помогло. Может такое быть из-за изменения структуры БД? Человека этого сейчас нет, спросить не у кого.
Во вложении весь исходник (оригинальное расширение — .prg).
Тонкости языка уже подзабыл. Если программа выполнялась в одной и той же оболочке, то не исключено, что нарушены какие-нибудь ограничения (размер БД. число открытых баз и т. п. ). Возможно были изменены настройки самой оболочки.