home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / FIXANOM.ZIP / FIXANOM.TXT
Encoding:
Text File  |  1988-04-12  |  9.0 KB  |  330 lines

  1. Clipper [tm] Summer '87 Replacement Disks:
  2. Fixed Anomalies
  3.  
  4. Copyright (c) 1988 Nantucket Corp.  All Rights Reserved.
  5. ---------------------------------------------------------------------
  6.  
  7. We appreciate those users who took time to report porblems and those
  8. of you who helped us verify them as well.  The following anomalies
  9. have been fixed by the replacement disks sent to all registered users
  10. of Clipper Summer '87.  Those of you who opted for the new
  11. documentation should also receive the remaining chapters of
  12. documentation with your replacement disks. 
  13.  
  14.  
  15. APPEND FROM...SDF/DELIMITED with WHILE Clause
  16.  
  17. APPENDing from a text file, SDF or DELIMITED, and using the WHILE
  18. option resulted in a doubling of the size of the text file.  This
  19. problem also occurred with the NEXT option.
  20.  
  21.  
  22. ASORT(get_array)
  23.  
  24. If you DECLAREd an array, initialized it with NUMERIC data, did some
  25. GETs into some of them, then performed an ASORT() on the array, it
  26. would ASORT() the elements that were changed by the GETs independent
  27. of the other elements.
  28.  
  29.  
  30. ASORT(semi-filled array)
  31.  
  32. If you DECLAREd an array, filled about half of it with data, and then
  33. performed an ASORT(), the unfilled elements assumed the last data and
  34. the whole array would then be sorted.
  35.  
  36.  
  37. CLEAR Area Greater than Screen 
  38.  
  39. Now, with the replacement disks, any coordinates beyond the maximum
  40. boundary will result in non-execution of that command.  (This did not
  41. previously happen.)
  42.  
  43.  
  44. Clipper + Disk Cache + Expanded Memory 
  45.  
  46. A combination of Clipper, a disk caching utility and expanded memory
  47. gave an "OPEN error" error upon the opening of index files.  (Note:
  48. It was also reported that the FAT table could be destroyed if this
  49. error was ignored and you typed "Y" at the "continue?" prompt.)
  50.  
  51.  
  52. Debug + DOS Shell
  53.  
  54. Debug's DOS Shell would not be invoked once a USE file had been
  55. executed.  If you insisted, the machine hung.
  56.  
  57.  
  58. Debug + Display Database + <F3> Indexes Option + NDX.OBJ
  59.  
  60. Debug's <F3> option of the DISPLAY/DATABASE sub-menu would not show
  61. the INDEXKEY expressions of open NDX files.
  62.  
  63.  
  64. Debug + Display/Database + ALT-G
  65.  
  66. If you "quick-keyed" from Display/Database mode in Debug with the
  67. ALT-G or ALT-S keys, and CLOSEd all open DBFs before Debug was
  68. invoked again, you fell into an endless loop.
  69.  
  70.  
  71. Debug + Display/Database/<F4>Structure
  72.  
  73. Debug's Display/Database/Structure option would not display the
  74. structure of a file that had only one field.
  75.  
  76.  
  77. Debug + Display/Expression
  78.  
  79. Debug's Display/Expression option returned an "<undefined>" error on
  80. inquiries that included a function or variable.
  81.  
  82.  
  83. EMPTY(memo_field)
  84.  
  85. The EMPTY() function would not operate properly with memo fields.
  86.  
  87.  
  88. GETting .T. into Logical Memory Variable
  89.  
  90. Comparisons performed between a .T. logical memory variable and a .T.
  91. logical DBF field and/or a .T. constant, would not always return a
  92. true value.
  93.  
  94.  
  95. Indexing in a Network Environment
  96.  
  97. In a multi-user environment, simultaneous indexing of different large
  98. DBFs by different workstations working on the same subdirectory
  99. resulted in index corruption.  This was caused by the temporary file
  100. CLIPSORT.TMP, created during the indexing of a large DBF, being
  101. overwritten by each workstation INDEXing.
  102.  
  103.  
  104. INDEX ON 
  105.  
  106. An INDEX ON finished at the end of file unlike previous Clipper
  107. versions.  REINDEX still returned you to the TOP of the file as
  108. designed.
  109.  
  110.  
  111. INPUT TO Memvar + No_entry 
  112.  
  113. Hitting the carriage-return without entering anything at an INPUT TO
  114. command would returned a "expression error (in macro)" error.
  115.  
  116.  
  117. INT() + Extra Leading Spaces
  118.  
  119. The INT() function placed an extra space in front of the number being
  120. INT()ed.
  121.  
  122.  
  123. LABEL FORM + Blank Field
  124.  
  125. 1.  The LABEL FORM command, upon encountering a blank field specified
  126. in the LBL file, would hang on that record.
  127.  
  128. 2.  If in the LBL file, a blank CONTENT field (or a CONTENT field
  129. that had an expression that evaluated to blank), preceded other
  130. non-blank CONTENT fields, the system would hang.
  131.  
  132.  
  133. LOCATE FOR and SET FILTER TO Multiple Macros
  134.  
  135. If you tried to LOCATE FOR multiple macros that were not
  136. dot-terminated, the system hung.  The same occured with the SET
  137. FILTER TO command.
  138.  
  139.  
  140. MEMOEDIT(.F.) + String Greater than Window Length
  141.  
  142. MEMOEDIT() with the .F. option (browse mode) would not adjust a very
  143. long string to fit within its window coordinates.
  144.  
  145.  
  146. MEMOEDIT(one_line)
  147.  
  148. If you tried to do a one-line MEMOEDIT() window, the auto-scroll was
  149. thrown off if you typed continuously beyond the end of the window.
  150.  
  151.  
  152. MEMORY(0) + SET CLIPPER=X
  153.  
  154. The MEMORY(0) function did not properly adjust with respect to "SET
  155. CLIPPER=Xnnn.".  Now if the "X" value is raised, the MEMORY(0)
  156. function will reflect the increase by almost the same amount.
  157.  
  158.  
  159. MEMO_field + CHARACTER_memvar             
  160.  
  161. You could not concatenate a memo field with a character string
  162. without encountering a "type mismatch" error.
  163.  
  164.  
  165. NETNAME() 
  166.  
  167. NETNAME() had been completely disabled.
  168.  
  169.  
  170. Numeric ALIASes
  171.  
  172. A field could not be referred to by its numeric alias with
  173. predictable results.
  174.  
  175.  
  176. PACK 
  177.  
  178. The PACK command could corrupt records if no index files were
  179. opened.
  180.  
  181.  
  182. PCOL()
  183.  
  184. The PCOL() function would not reflect any horizontal changes on the ?
  185. print statements.
  186.  
  187.  
  188. PICTURE "@B" + Numeric Punctuations
  189.  
  190. The "@B" option (left-justified numerics) for the PICTURE clause
  191. would not conform with punctuated numeric fields.
  192.  
  193.  
  194. PICTURE "@XC" 
  195.  
  196. The "@XC" option of the PICTURE clause would not display anything for
  197. a positive number, and both "CR" and "DB" for a negative number.
  198.  
  199.  
  200. PLINK86-Plus [tm] + LIB Overlay
  201.  
  202. At link time, when trying to create internal or external overlays, if
  203. you included "OVERLAY" in the "LIB" directive, you would get a "BAD
  204. FIXUP COUNT IN SECTION" error.  Any attempt to execute the resulting
  205. EXE hung the machine.
  206.  
  207.  
  208. Printing Incompatibility with Autumn '86
  209.  
  210. The SET DEVICE TO PRINT command did not obey "non-print exclusive"
  211. coordinates as it did with Clipper Autumn '86.
  212.  
  213.  
  214. RANGE + DBF Field
  215.  
  216. The RANGE clause returned a "type mismatch..." error if you tried to
  217. GET into a DBF field.  This occured even if the types did match. This
  218. problem occurred with DBF fields only. GETting into a memvar
  219. functioned correctly.
  220.  
  221.  
  222. REPORT FORM + "HEADER" Option
  223.  
  224. If the HEADER option was used in the REPORT FORM command, the name of
  225. the report form file was printed in place of the specified header.
  226.  
  227.  
  228. REPORT FORM + Sub-sub-total
  229.  
  230. The REPORT FORM command would not Sub-sub-total.
  231.  
  232.  
  233. RESTSCREEN()ing One Line of Screen
  234.  
  235. You could not RESTSCREEN() one line of a screen that was previously
  236. saved by SAVESCREEN().
  237.  
  238.  
  239. Re-routing Printer Output to File after No-printer Error
  240.  
  241. If you tried to send output to the printer and the printer was not
  242. ready, the PRINT_ERROR() function would be invoked which redirects
  243. the output to a text file.  This is what should happen except the
  244. function would write "garbage" to the file before the data was
  245. written.
  246.  
  247.  
  248. SAVE SCREEN TO Memvar to Field
  249.  
  250. If you saved screens to a DBF, closed it, then re-used it and
  251. restored from that field, the restored screen would have garbage in
  252. it or hang the machine.  
  253.  
  254.  
  255. SAVESCREEN() 
  256.  
  257. The SAVESCREEN() function randomly saved more of the screen than
  258. specified.
  259.  
  260.  
  261. SCROLL()ing One Line
  262.  
  263. The SCROLL() function would not operate properly when one line was
  264. cleared or if there was only one column to be scrolled.
  265.  
  266.  
  267. SET CLIPPER=S1 
  268.  
  269. The "S1" option of the SET CLIPPER environment setting only cleared
  270. snow from about three-fourths of the screen.  The left side of the
  271. screen still got snow.  Also, if you SET CLIPPER=S1 on a monochrome
  272. hardware configuration, the machine hung upon execution of a
  273. Clipper-compiled application.
  274.  
  275.  
  276. SET FILTER + SET RELATION 
  277.  
  278. A RELATION set in one area would cause an existing FILTER in the
  279. other related area to lose its expression identifier unless preceded
  280. with its alias.
  281.  
  282.  
  283. SET FILTER TO a Logical Field = .T.
  284.  
  285. If you SET FILTER TO a "logical field = .T.", everything was screened
  286. out.
  287.  
  288.  
  289. SET FIXED ON + Picture Clause
  290.  
  291. You would hang the machine if you did all of the following:
  292.  
  293.      1) SET DECIMALS to a number greater than the decimal
  294.         configuration in your DBF,
  295.      2) SET FIXED ON,
  296.      3) assign a numeric FIELD to a memvar,
  297.      4) then do a GET on that memvar with a PICTURE clause
  298.         that does not accommodate for the decimals.
  299.  
  300.  
  301. SORT + (DBF with DBT)
  302.  
  303. If you SORTed a DBF that had an associated DBT file, the target DBT
  304. file was truncated to 512 bytes.
  305.  
  306.  
  307. SUM 
  308.  
  309. 1.  The SUM command ignored the DECIMAL configurations of the DBF.
  310.  
  311. 2.  The SUM command randomly returned numeric overflow asterisks
  312.     where it should not have.
  313.  
  314.  
  315. TYPE() 
  316.  
  317. The TYPE() function was being "indeterminate" in its evaluation of
  318. functions.
  319.  
  320.  
  321. VAL() 
  322.  
  323. The VAL() function required that a decimals-only string be preceded
  324. with a "0" (zero); otherwise,  a numeric overflow would be returned.
  325.  
  326. --------------------
  327. Nantucket is a registered trademark and Clipper is a trademark of
  328. Nantucket Corporation.  PLINK86-Plus is a trademark of Phoenix
  329. Technologies, Ltd.
  330.