home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / database / fp25er.zip / FP25EROR.PRG < prev    next >
Text File  |  1993-07-04  |  224KB  |  6,410 lines

  1. *:*****************************************************************************
  2. *:
  3. *: Procedure file: D:\FP25EROR\FP25EROR.PRG
  4. *:
  5. *:         System: FP25EROR - FoxPro DOS Error Handler
  6. *:         Author: Pat Adams                    v 1.06
  7. *:      Copyright (c) 1993, DB Unlimited
  8. *:  Last modified: 5/26/93     11:58
  9. *:
  10. *:  Procs & Fncts: XLOW_MEM
  11. *:               : LOW_MEM
  12. *:               : GO_MASTR
  13. *:               : ERORSET
  14. *:               : NO_FILE
  15. *:               : FILE_BUSY
  16. *:               : GO_AGAIN
  17. *:               : TOO_HIGH
  18. *:               : LOWFILES
  19. *:               : REALBAD
  20. *:               : INDEX_ER
  21. *:               : SETENVMT
  22. *:               : SAVE_IT
  23. *:               : QQUIT
  24. *:               : UPMVCOUNT
  25. *:               : TOOBIG
  26. *:               : NOMEMO
  27. *:               : BAD_RPT
  28. *:               : BADMEMFL
  29. *:               : NOSPACE
  30. *:               : TO_PRN
  31. *:               : KORRUPT
  32. *:               : REC_BUSY
  33. *:               : LREADONLY
  34. *:               : READONLY
  35. *:               : BAD_DIF
  36. *:               : BAD_SYLK
  37. *:               : INVALPRN
  38. *:               : NOTREADY
  39. *:               : NOTRIGHT
  40. *:               : BADLOTUS
  41. *:               : REC2BIG
  42. *:               : SQL_INTL
  43. *:               : SQLTRASH
  44. *:               : NOSQLIDX
  45. *:               : SQL_IDX
  46. *:               : SQLABORT
  47. *:               : IO_FAILED
  48. *:               : MEM_PROB
  49. *:               : KODEKORUP
  50. *:               : BADCHAIN
  51. *:               : BAD_API
  52. *:               : BADRIGHTS
  53. *:               : NOCREAT
  54. *:               : READ_ERR
  55. *:               : RITE_ERR
  56. *:               : TRANSACTN
  57. *:               : BADCLOSE
  58. *:               : BAD_OBJ
  59. *:               : NOTFOXEXE
  60. *:               : VERBOSE
  61. *:               : BAD_RESRC
  62. *:               : NORUN
  63. *:               : BAD_WIN
  64. *:               : PKORRUPT
  65. *:               : BADEXCEL
  66. *:               : ENKRYPTED
  67. *:               : BADSYMPH
  68. *:               : A_ONLY
  69. *:               : L_HIDE
  70. *:               : BAD_PARDX
  71. *:               : DNOACCES
  72. *:               : NOACCESS
  73. *:               : SNOACCES
  74. *:               : NO_CDX
  75. *:               : NOAPI
  76. *:               : NOPSERVER
  77. *:               : NO_QUE
  78. *:               : NO_PLB
  79. *:               : NOSQLOPEN
  80. *:               : PROGBUG
  81. *:               : RAZBERRY
  82. *:               : LOGVIEW
  83. *:               : MEMOVIEW
  84. *:               : YES_NO
  85. *:               : NICECHIM
  86. *:               : A_LERT
  87. *:               : KANCEL
  88. *:               : DEVELOPER
  89. *:               : LAN_ADMIN
  90. *:               : APP_ADMIN
  91. *:               : USTRING
  92. *:
  93. *:         Set by: ERORSET            (procedure in FP25EROR.PRG)
  94. *:
  95. *:          Calls: XLOW_MEM           (procedure in FP25EROR.PRG)
  96. *:               : LOW_MEM            (procedure in FP25EROR.PRG)
  97. *:               : GO_MASTR           (procedure in FP25EROR.PRG)
  98. *:               : ERORSET            (procedure in FP25EROR.PRG)
  99. *:               : NO_FILE            (procedure in FP25EROR.PRG)
  100. *:               : FILE_BUSY          (procedure in FP25EROR.PRG)
  101. *:               : GO_AGAIN           (procedure in FP25EROR.PRG)
  102. *:               : TOO_HIGH           (procedure in FP25EROR.PRG)
  103. *:               : LOWFILES           (procedure in FP25EROR.PRG)
  104. *:               : REALBAD            (procedure in FP25EROR.PRG)
  105. *:               : INDEX_ER           (procedure in FP25EROR.PRG)
  106. *:               : SETENVMT           (procedure in FP25EROR.PRG)
  107. *:               : SAVE_IT            (procedure in FP25EROR.PRG)
  108. *:               : QQUIT              (procedure in FP25EROR.PRG)
  109. *:               : UPMVCOUNT          (procedure in FP25EROR.PRG)
  110. *:               : TOOBIG             (procedure in FP25EROR.PRG)
  111. *:               : NOMEMO             (procedure in FP25EROR.PRG)
  112. *:               : BAD_RPT            (procedure in FP25EROR.PRG)
  113. *:               : BADMEMFL           (procedure in FP25EROR.PRG)
  114. *:               : NOSPACE            (procedure in FP25EROR.PRG)
  115. *:               : TO_PRN             (procedure in FP25EROR.PRG)
  116. *:               : KORRUPT            (procedure in FP25EROR.PRG)
  117. *:               : REC_BUSY           (procedure in FP25EROR.PRG)
  118. *:               : LREADONLY          (procedure in FP25EROR.PRG)
  119. *:               : READONLY           (procedure in FP25EROR.PRG)
  120. *:               : BAD_DIF            (procedure in FP25EROR.PRG)
  121. *:               : BAD_SYLK           (procedure in FP25EROR.PRG)
  122. *:               : INVALPRN           (procedure in FP25EROR.PRG)
  123. *:               : NOTREADY           (procedure in FP25EROR.PRG)
  124. *:               : NOTRIGHT           (procedure in FP25EROR.PRG)
  125. *:               : BADLOTUS           (procedure in FP25EROR.PRG)
  126. *:               : REC2BIG            (procedure in FP25EROR.PRG)
  127. *:               : SQL_INTL           (procedure in FP25EROR.PRG)
  128. *:               : SQLTRASH           (procedure in FP25EROR.PRG)
  129. *:               : NOSQLIDX           (procedure in FP25EROR.PRG)
  130. *:               : SQL_IDX            (procedure in FP25EROR.PRG)
  131. *:               : SQLABORT           (procedure in FP25EROR.PRG)
  132. *:               : IO_FAILED          (procedure in FP25EROR.PRG)
  133. *:               : MEM_PROB           (procedure in FP25EROR.PRG)
  134. *:               : KODEKORUP          (procedure in FP25EROR.PRG)
  135. *:               : BADCHAIN           (procedure in FP25EROR.PRG)
  136. *:               : BAD_API            (procedure in FP25EROR.PRG)
  137. *:               : BADRIGHTS          (procedure in FP25EROR.PRG)
  138. *:               : NOCREAT            (procedure in FP25EROR.PRG)
  139. *:               : READ_ERR           (procedure in FP25EROR.PRG)
  140. *:               : RITE_ERR           (procedure in FP25EROR.PRG)
  141. *:               : TRANSACTN          (procedure in FP25EROR.PRG)
  142. *:               : BADCLOSE           (procedure in FP25EROR.PRG)
  143. *:               : BAD_OBJ            (procedure in FP25EROR.PRG)
  144. *:               : NOTFOXEXE          (procedure in FP25EROR.PRG)
  145. *:               : VERBOSE            (procedure in FP25EROR.PRG)
  146. *:               : BAD_RESRC          (procedure in FP25EROR.PRG)
  147. *:               : NORUN              (procedure in FP25EROR.PRG)
  148. *:               : BAD_WIN            (procedure in FP25EROR.PRG)
  149. *:               : PKORRUPT           (procedure in FP25EROR.PRG)
  150. *:               : BADEXCEL           (procedure in FP25EROR.PRG)
  151. *:               : ENKRYPTED          (procedure in FP25EROR.PRG)
  152. *:               : BADSYMPH           (procedure in FP25EROR.PRG)
  153. *:               : A_ONLY             (procedure in FP25EROR.PRG)
  154. *:               : L_HIDE             (procedure in FP25EROR.PRG)
  155. *:               : BAD_PARDX          (procedure in FP25EROR.PRG)
  156. *:               : DNOACCES           (procedure in FP25EROR.PRG)
  157. *:               : NOACCESS           (procedure in FP25EROR.PRG)
  158. *:               : SNOACCES           (procedure in FP25EROR.PRG)
  159. *:               : NO_CDX             (procedure in FP25EROR.PRG)
  160. *:               : NOAPI              (procedure in FP25EROR.PRG)
  161. *:               : NOPSERVER          (procedure in FP25EROR.PRG)
  162. *:               : NO_QUE             (procedure in FP25EROR.PRG)
  163. *:               : NO_PLB             (procedure in FP25EROR.PRG)
  164. *:               : NOSQLOPEN          (procedure in FP25EROR.PRG)
  165. *:               : PROGBUG            (procedure in FP25EROR.PRG)
  166. *:
  167. *:           Uses: SYSDATA.DBF        
  168. *:
  169. *:*****************************************************************************
  170. *   PROGRAM: FP25EROR.PRG
  171. *   VERSION: 1.06
  172. *   AUTHOR:  Pat Adams, DB Unlimited  (718) 469-4032
  173. *   DATE:    5/26/93
  174. *
  175. *   USE RESTRICTIONS: You may use FP25EROR and modifications
  176. *   thereof as part of your custom applications without prior authorization
  177. *   from DB Unlimited and without payment to DB Unlimited.  FP25EROR
  178. *   may be freely distributed on electronic BBSes and via non-profit
  179. *   user group disk libraries.
  180. *
  181. *   FP25EROR and modifications thereof may *NOT* be sold as shareware
  182. *   or as a commercial product.  Use of the FP25EROR routine and modifi-
  183. *   cations thereof in articles and books is reserved solely to DB Unlimited.
  184. *
  185. *   FP25EROR and modifications thereof may not be incorporated into
  186. *   vertical market or commercial products without prior arrangement
  187. *   with DB Unlimited.
  188. *
  189. *   NOTE: This routine is specific to FoxPro 2.5.  In some instances
  190. *   FoxPro 2.5 uses different error numbers for error conditons than
  191. *   FoxPro 2.0.  Both the FoxPro 2.0 error numbers and the FoxPro 2.5
  192. *   error numbers have been included to the extent possible.  However,
  193. *   the original PROERROR.PRG should be used with FoxPro 1.x and
  194. *   PRO2EROR should be employed with FoxPro 2.0.
  195. *
  196. *   Information is stored to the FP25EROR.DBF file and then
  197. *   the user is returned to master calling program if a RETRY
  198. *   is not issued.  Please note that FP25EROR closes all files
  199. *   and indexes before issuing a RETURN TO MASTER.  FP25EROR expects
  200. *   that the MASTER level file will (re)initialize all necessary global
  201. *   memvars, open databases and indexes, etc. as required for a
  202. *   particular system.
  203. *
  204. *   When it is necessary to provide the user with the name and phone
  205. *   number of an individual to call regarding an error the SYSDATA
  206. *   database is opened and the record for the appropriate individual
  207. *   is sought.  The titles supplied in the SYSDATA database which
  208. *   accompanies this program should not be changed without modification
  209. *   of the FP25EROR program.  The information for DEVELOPER is displayed
  210. *   if the error is the result of a programming bug or syntax error.
  211. *   Information for APP ADMINISTRATOR is called if files are missing
  212. *   or other errors occur which require the attention of the applications
  213. *   administrator.  LAN ADMINISTRATOR information is displayed if the
  214. *   errors are related to specific LAN situations such as inappropriate
  215. *   user authorizations on the LAN.
  216. *
  217. *   Because FoxPro 2.5 is both single user and multi-user, unlike
  218. *   earlier versions of the Fox product line, a logical .T. should
  219. *   be placed in the MULTI_USER field of each record if your appli-
  220. *   cation is multi-user.  If your application is for use in stand-
  221. *   alone mode only then a logical .F. should be placed in this
  222. *   field.  SYSDATA.DBF is delivered with a logical .T. in the
  223. *   MULTI_USER field of each record.
  224. *
  225. *   DOS based LANs such as Novell Netware Lite, InvisibleNET and
  226. *   LANtastic that utilize SHARE treat the #1705 error message
  227. *   differently than Novell, Lan Man or Banyan.  Therefore, if your
  228. *   application will be running on a LAN that utilizes SHARE the
  229. *   DOS_LAN field in each record of the SYSDATA database should be
  230. *   initialized to a logical .T.  FP25EROR will utilize the info in
  231. *   this field to determine which error message will be presented
  232. *   when error #1705 is encountered.  SYSDATA.DBF is delivered with
  233. *   a logical .F. as the default value for the DOS_LAN file.
  234. *
  235. *   Initializing a logical PUBLIC memvar named TESTING during test cycles
  236. *   of your code will trigger an option in the STORE_IT module which
  237. *   will provide you with the option of viewing the FP25EROR file at
  238. *   the time the error condition occurs.  This module also permits
  239. *   exit to DOS via use of the CONTROL-Q key combination.  If the
  240. *   interactive version of FoxPro 2.5 is in use the ESC key can be
  241. *   used to return to the command window after viewing the error log.
  242. *
  243. *   Colors for the windows and text are contained primarily in
  244. *   the set-up for COLOR SCHEME 20 and the memvars REDBLINK and
  245. *   LOWTEXT.
  246. *
  247. *   You *MUST* hard code your name and phone number in procedure
  248. *   VERBOSE for the reasons stated in the procedure file header.
  249. *
  250. *   Utilize the following command to set up this system to
  251. *   respond to FoxPro 2.5 errors:
  252. *
  253. *   ON ERROR DO FP25EROR WITH ERROR(), MESSAGE(), MESSAGE(1), ;
  254. *      SYS(16), LINENO(), SYS(102), SYS(100), SYS(101), LASTKEY(), ;
  255. *       ALIAS(), SYS(18), SYS(5), SYS(12), SYS(6), SYS(2003), WONTOP(), ;
  256. *       SYS(2011), SYS(2018), SET("CURSOR")
  257. *
  258. *   or as an alternative:
  259. *
  260. *       [SET PROCEDURE TO FP25EROR]
  261. *       DO erorset
  262. *
  263. *  Parameters are:
  264. *
  265. *   xerno =    The numeric code of the number provided by ERROR()
  266. *   xmsg =     The error message provided by MESSAGE()
  267. *   xkode =    The contents of the line of code which
  268. *                 triggered the error as provided by MESSAGE(1)
  269. *   xmodul =   The name of the code module, SYS(16)
  270. *   xline =    The number of the line of code triggering the
  271. *                 error, LINENO()
  272. *   xprint =    Current PRINTER setting as per SYS(102)
  273. *   xkonsol =   Current CONSOLE setting as per SYS(100)
  274. *   xdevice =   Current DEVICE setting as per SYS(101)
  275. *   keypress =  LASTKEY()
  276. *   curr_dbf =  Selected .DBF when error occurred
  277. *   getfield =  Field of GET...READ at time error occurred
  278. *   def_drive = Default drive at time error occurred - SYS(5)
  279. *   run_memry = Amount of DOS memory available for RUN command - SYS(12)
  280. *   prnt_devic= Current SET PRINTER TO setting - SYS(6)
  281. *   cur_direc = Current directory at time error occurred - SYS(2003)
  282. *   top_win =   Top window at time error occurred
  283. *   xlocked =   Record or file lock status at time error occurred -
  284. *                 SYS(2011)
  285. *   xmissing =  Missing file, window, etc.
  286. *   curs_set =  Cursor setting at time error occurred.
  287. *
  288. *  In addition to this information, the routine saves the information
  289. *  from LIST MEMORY and LIST STATUS is saved into the memo field.
  290. *
  291. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  292. PARAMETERS xerno, xmsg, xkode, xmodul, xline, xprint, ;
  293.     xkonsol, xdevice, keypress, curr_dbf, getfield, def_drive, ;
  294.     run_memry, prnt_devic, cur_direc, top_win, xlocked, ;
  295.     xmissing, curs_set
  296.  
  297. IF AT(" ", ALLTRIM(top_win)) > 0
  298. * ==================================================
  299. * Modified 5/26/93 by Pat Adams.  If window name is
  300. * actually a window title with more than one word
  301. * shorten it to just the first word
  302. * ==================================================
  303.     STORE LEFT(top_win, AT(" ", ALLTRIM(top_win) -1) TO top_win
  304. ENDIF AT(
  305.  
  306. IF xerno = 43 OR xerno = 809 OR xerno = 1809 OR xerno = ;
  307.         845 OR xerno = 1845 OR xerno = 1149 OR xerno = ;
  308.         1150 OR xerno = 1151 OR xerno = 1250 OR xerno = ;
  309.         1281 OR xerno = 1310 OR xerno = 1600
  310.     * ==============================
  311.     *$ Insufficient memory
  312.     *  Modified 4/6/93 - Routine now
  313.     *  differentiates between Standard
  314.     *  and Extended Edition and pro-
  315.     *  vides different messages.
  316.     * ==============================
  317.     IF "(X)" $ VERS(1)
  318.         DO xlow_mem
  319.     ELSE
  320.         DO low_mem
  321.     ENDIF ("(X)" $ VERS(1))
  322.     
  323.     DO go_mastr
  324. ENDIF (xerno = 43 OR xerno = 809 OR xerno = 1809 OR xerno = ;)
  325.  
  326. PRIVATE tryagain, printit, redblink, scheme20, ;
  327.     lowtext, kontinu
  328. * =========================================
  329. *$ Initialize colors to be used in messages
  330. * =========================================
  331. STORE SCHEME(20) TO scheme20
  332. SET COLOR OF SCHEME 20 TO "N/W, N/W, +*R/W"
  333. STORE "+*R/W" TO redblink
  334. STORE "+N/W" TO lowtext
  335. SET PRINT OFF
  336. SET DEVICE TO SCREEN
  337. STORE .F. TO tryagain
  338. ON ERROR ?? CHR(7)
  339. CLEAR TYPEAHEAD
  340.  
  341. IF xerno=104 OR xerno=181 OR xerno=182 OR xerno= ;
  342.         279 OR xerno=4 OR xerno=1107 OR ;
  343.         xerno=1164 OR (xerno=91 AND "RELEASE" $ xkode)
  344.     * ===========================================================
  345.     *$ Ignore these errors and continue with program execution
  346.     *
  347.     * Error #104 occurs when ON KEY LABEL calls to function keys
  348.     * F11 and F12 are made on older keyboards which do not support
  349.     * these keys.  It does not trap illegal SET FUNCTION x calls.
  350.     *
  351.     * Error #181, "MENU is already in use", occurs when an
  352.     * attempt is made to activate a MENU which has already
  353.     * been activated.
  354.     *
  355.     * Error #182, "POPUP is already in use", occurs when an
  356.     * attempt is made to activate a POPUP which has already
  357.     * been activated.
  358.     *
  359.     * Error #279, "Prompts for this popup have already been
  360.     * defined" occurs when an attempt is made to use the BAR
  361.     * option to define contents of a POPUP already defined
  362.     * with PROMPT.
  363.     *
  364.     * Error #4 = "End of file encountered"
  365.     *
  366.     * Error #1107 = "Structural CDX file reference removed"
  367.     *
  368.     * Error #91 - "File was not LOADed"  An attempt was made to
  369.     *              CALL a .BIN file which has not been loaded
  370.     *              or RELEASE a .BIN file or .PLB that has not
  371.     *              been loaded.  FP25EROR will ignore calls to
  372.     *              RELEASE modules that are not loaded.
  373.     *
  374.     * Error #1164 - "Browse structure changed."
  375.     *                The structure of a BROWSE window was
  376.     *                changed by a BROWSE validation routine.
  377.     * ===========================================================
  378.     SET CONSOLE &xkonsol
  379.     * =========================================
  380.     * ¯o substitution is utilized since
  381.     * EVALUATE() does not work with SET commands
  382.     * =========================================
  383.     SET DEVICE TO &xdevice
  384.     DO erorset
  385.     * ==================================================
  386.     * Ignore the error and return to the line of
  387.     * code following the one which generated the error
  388.     * ==================================================
  389.     RETURN
  390. ENDIF (xerno=104 OR xerno=181 OR xerno=182 OR xerno= ;)
  391.  
  392. IF xerno = 1726 OR xerno = 1642
  393.     * =======================================================
  394.     *$ Ignore error and continue with program.
  395.     *
  396.     *$ #1706 - API library not found.
  397.     *          This error occurs when a SET
  398.     *          LIBRARY TO or RELEASE LIBRARY has been
  399.     *          issued and the .PLB is not been loaded.
  400.     *          (If .PLB can not be found error #1
  401.     *          is generated.)
  402.     *
  403.     *$ #1642 - COLORSET resource not found
  404.     * =============================================
  405.     SET CONSOLE &xkonsol
  406.     SET DEVICE TO &xdevice
  407.     DO erorset
  408.     RETURN
  409. ENDIF (xerno = 1726 OR xerno = 1642)
  410.  
  411. SET TALK OFF
  412. SET PRINT OFF
  413. SET PRINTER TO prn
  414. SET DEVICE TO SCREEN
  415.  
  416. DO CASE xerno
  417.     CASE xerno = 1 OR xerno = 802 OR xerno = ;
  418.         1162 OR xerno = 1802
  419.         * =================================================
  420.         *$ File does not exist or can not be found.
  421.         *  Error #1 applies to standard FoxPro file while
  422.         *  error #802 or #1802 specifically references a SQL table
  423.         *  Error #1162 applies to an unfound PROCEDURE
  424.         *  Error #1802 applies to a SQL table or .DBF
  425.         *  Pop up window to inform user
  426.         * =================================================
  427.         DO no_file WITH xmissing
  428.         DO go_mastr
  429.         
  430.     CASE xerno = 3 OR xerno = 108 OR xerno = 1503
  431.         * ============================================================
  432.         *$ Advise user file is in use and provide option to try again
  433.         *  NOTE: This case statement can be omitted for single user aps
  434.         *        since it will only be triggered in a multi-user
  435.         *        environment where someone else has a file in
  436.         *        EXCLUSIVE use.
  437.         * ============================================================
  438.         DO file_busy WITH tryagain
  439.         
  440.         IF tryagain
  441.             * =============================
  442.             *$ Retry for use of the file
  443.             * =============================
  444.             DO go_again
  445.             SET CURSOR &curs_set
  446.             RETRY
  447.         ELSE
  448.             * ============================================
  449.             *$ Abort and return to the MASTER module
  450.             *  Information is saved to FP25EROR database
  451.             *  to provide a log of how often LAN users can
  452.             *  not get use of a file.  If this situation
  453.             *  occurs frequently it may mean that others on
  454.             *  the LAN are using files interactively with
  455.             *  EXCLUSIVE ON or that the source code needs to be
  456.             *  rewritten to avoid such frequent contentions.
  457.             * ============================================
  458.             DO go_mastr
  459.         ENDIF (tryagain)
  460.         
  461.     CASE xerno = 5
  462.         * =======================================
  463.         *$ Record is out of range
  464.         *  Advise user & return to MASTER module
  465.         * =======================================
  466.         DO too_high
  467.         DO go_mastr
  468.         
  469.     CASE xerno = 6
  470.         * =====================
  471.         *$ Too many files open
  472.         * =====================
  473.         DO lowfiles
  474.         DO go_mastr
  475.         
  476.     CASE xerno = 15 OR xerno = 1111
  477.         * ================================
  478.         *$ # 15 - Database is trashed
  479.         *$ #1111 - Invalid file descriptor
  480.         * ================================
  481.         DO realbad
  482.         DO go_mastr
  483.         
  484.     CASE xerno = 19 OR xerno = 20 OR xerno = ;
  485.         114 OR xerno = 1141 OR xerno = 1683 OR xerno = 1103
  486.         * ==============================================
  487.         *$ Index error problems - Recreate indexes
  488.         * ==============================================
  489.         DO index_er
  490.         DO setenvmt
  491.         DO save_it
  492.         * ==============
  493.         *$ Quit to DOS
  494.         * ==============
  495.         DO qquit
  496.         
  497.     CASE xerno = 21 OR xerno = 22
  498.         * ==================================
  499.         *$ String memory variable area overflow
  500.         *$ Too many memory variables
  501.         *
  502.         *  The MVCOUNT statement in the
  503.         *  CONFIG.FP file needs to be increased.
  504.         * ====================================
  505.         DO upmvcount
  506.         DO go_mastr
  507.         
  508.     CASE xerno = 38
  509.         * ==============================================
  510.         *$ Attempt has been made to position record
  511.         *  pointer before the first record in the file.
  512.         *  Correct by going to top of file, skipping down
  513.         *  one record, then retrying the same command line.
  514.         * ==============================================
  515.         GO TOP
  516.         SKIP
  517.         DO go_again
  518.         RETRY
  519.         
  520.     CASE xerno = 39
  521.         * =========================================
  522.         *$ Numeric overflow (data was lost)
  523.         * =========================================
  524.         DO toobig
  525.         DO go_mastr
  526.         
  527.     CASE xerno = 41
  528.         * =========================================
  529.         *$ Missing or invalid MEMO file
  530.         *  NOTE: Depending upon the application,
  531.         *  it may be desirable to modify this
  532.         *  CASE statement to return the user to DOS
  533.         * =========================================
  534.         DO nomemo
  535.         DO go_mastr
  536.         
  537.     CASE xerno = 50 OR xerno = 54 OR xerno = 1241 ;
  538.         OR xerno = 1243 OR xerno = 1245 OR ;
  539.         xerno = 1246 OR xerno = 1645 OR ;
  540.         xerno = 1646 OR xerno = 1647 OR xerno = 1653
  541.         * ===============================================
  542.         *$ Report form or label form problems
  543.         * ===============================================
  544.         DO bad_rpt WITH xerno
  545.         DO go_mastr
  546.         
  547.     CASE xerno = 55
  548.         * ======================
  549.         *$ Invalid .MEM file
  550.         * ======================
  551.         DO badmemfl
  552.         * ==================================
  553.         * NOTE: If info in the .MEM file is
  554.         * necessary for the entire application
  555.         * this should be changed so user is
  556.         * returned to DOS
  557.         * =================================
  558.         DO go_mastr
  559.         
  560.     CASE xerno = 56
  561.         * =========================================
  562.         *$ Out of disk space error.  Return to DOS
  563.         * =========================================
  564.         STORE .F. TO printit
  565.         DO nospace WITH printit
  566.         
  567.         IF printit
  568.             * ============================
  569.             * Send error info to printer
  570.             * ============================
  571.             DO to_prn
  572.         ENDIF (printit)
  573.         * ======================================
  574.         *$ Quit to DOS - No attempt is
  575.         *$ made to close databases since
  576.         *$ the error condition may preclude it
  577.         * ======================================
  578.         SET CURSOR ON
  579.         SET COLOR TO W/N
  580.         CLEAR
  581.         SET CLEAR OFF && Suppresses "Normal Shutdown" message
  582.         QUIT
  583.         
  584.     CASE xerno = 67 OR xerno = 1309
  585.         * ====================================
  586.         *$ Expression evaluator fault.
  587.         *$ Object file corrupted
  588.         * ====================================
  589.         DO korrupt
  590.         DO go_mastr
  591.         
  592.     CASE xerno = 109 OR xerno = 130 OR xerno = 1502
  593.         * ========================================
  594.         *$ Record is locked by another user
  595.         *$ Record is not locked
  596.         *$ Record is in use: Cannot write
  597.         *  Inform user & provide option to retry
  598.         * ========================================
  599.         DO rec_busy WITH tryagain
  600.         
  601.         IF tryagain
  602.             * =============================
  603.             *$ Retry for use of the record
  604.             * =============================
  605.             DO go_again
  606.             GO RECNO()
  607.             RETRY
  608.         ELSE
  609.             * ============================================
  610.             *$ Abort and return to the MASTER module
  611.             *  Information is saved to FP25EROR database
  612.             *  to provide a log of how often LAN users can
  613.             *  not get use of a record.  If this situation
  614.             *  occurs frequently it may mean that a
  615.             *  different methodology is required in the
  616.             *  source code to prevent a high incidents of
  617.             *  contentions.
  618.             * ============================================
  619.             DO go_mastr
  620.         ENDIF (tryagain)
  621.         
  622.     CASE xerno = 111 OR xerno = 1718
  623.         * ===============================================
  624.         *$ Attempt was made to write to a read-only file
  625.         * ===============================================
  626.         IF ! USED("SYSDATA")
  627.             SELECT 0
  628.             USE sysdata NOUPDATE
  629.         ELSE
  630.             SELECT sysdata
  631.         ENDIF (! USED("SYSDATA"))
  632.         
  633.         IF sysdata.multi_user
  634.             * ==============================
  635.             * If we're on a LAN call up
  636.             * the LAN version of message
  637.             * ==============================
  638.             DO lreadonly
  639.             DO go_mastr
  640.         ELSE
  641.             * =====================================
  642.             * If user is working in stand-alone mode
  643.             * =====================================
  644.             DO readonly
  645.             DO go_mastr
  646.         ENDIF (sysdata.multi_user)
  647.         
  648.     CASE xerno = 115 OR xerno = 116 OR xerno = 117
  649.         * =========================================
  650.         *$ Invalid DIF file header
  651.         *$ Invalid DIF vector/DBF field mismatch
  652.         *$ Invalid DIF type indicator
  653.         * =========================================
  654.         DO bad_dif
  655.         DO go_mastr
  656.         
  657.     CASE xerno = 119 OR xerno = 120 OR xerno = ;
  658.             121 OR xerno = 1670
  659.         * ================================================
  660.         *$ #119 - Invalid SYLK file header
  661.         *$ #120 - Invalid SYLK file dimension bounds
  662.         *$ #121 - Invalid SYLK file format
  663.         *$ #1670 - Invalid Multiplan v 4.0 format
  664.         * ================================================
  665.         DO bad_sylk
  666.         DO go_mastr
  667.         
  668.     CASE xerno = 124
  669.         * =============================
  670.         *$ Invalid printer redirection
  671.         * =============================
  672.         DO invalprn
  673.         DO go_mastr
  674.         
  675.     CASE xerno = 125
  676.         * ===========================================
  677.         * Printer not ready.
  678.         * Provide user with option to retry
  679.         * for use of printer or abort to MASTER
  680.         * ===========================================
  681.         DO notready WITH tryagain
  682.         
  683.         IF tryagain
  684.             * =============================
  685.             *$ Retry for use of printer
  686.             * =============================
  687.             DO go_again
  688.             RETRY
  689.         ELSE
  690.             * ======================================
  691.             *$ Abort and return to the MASTER module
  692.             * ======================================
  693.             DO go_mastr
  694.         ENDIF (tryagain)
  695.         
  696.     CASE xerno = 176 OR xerno = 177
  697.         * =======================================
  698.         *$ Error #176 - Cannot clear menu in use
  699.         *$ Error #177 - Cannot clear popup in use
  700.         *
  701.         *  Attempt was made to CLEAR or RELEASE
  702.         *  MENU or POPUP which has not been
  703.         *  deactivated.  Simply DEACTIVATE and
  704.         *  RETRY the command.
  705.         * =======================================
  706.         IF xerno = 176
  707.             DEACTIVATE MENU
  708.         ELSE
  709.             DEACTIVATE POPUP
  710.         ENDIF (xerno = 176)
  711.         
  712.         DO go_again
  713.         RETRY
  714.         
  715.     CASE xerno = 255 OR xerno = 256
  716.         * ===========================================
  717.         *$ Not a valid RapidFile or Framework II file
  718.         * ===========================================
  719.         DO notright WITH xerno
  720.         DO go_mastr
  721.         
  722.     CASE xerno = 297 OR xerno = 1662 OR xerno = 1678
  723.         * ======================================
  724.         *$ Invalid Lotus 1-2-3 version X file
  725.         * ======================================
  726.         DO badlotus WITH xerno
  727.         DO go_mastr
  728.         
  729.     CASE xerno = 392
  730.         * ===============================================
  731.         *$ Maximum record length exceeded in import file
  732.         * ===============================================
  733.         DO rec2big
  734.         DO go_mastr
  735.         
  736.     CASE xerno = 800 OR xerno = 1800
  737.         * =======================
  738.         *$ SQL Internal Error
  739.         * =======================
  740.         DO sql_intl
  741.         DO setenvmt
  742.         DO save_it
  743.         * =============
  744.         *$ Quit to DOS
  745.         * =============
  746.         DO qquit
  747.         
  748.     CASE xerno = 821 OR xerno = 1821
  749.         * ========================================
  750.         *$ Temporary SQL file has been corrupted
  751.         * ========================================
  752.         DO sqltrash
  753.         DO go_mastr
  754.         
  755.     CASE xerno = 830 OR xerno = 1830
  756.         * =========================
  757.         *$ SQL index not found
  758.         * =========================
  759.         DO nosqlidx
  760.         DO go_mastr
  761.         
  762.     CASE xerno = 831 OR xerno = 1831
  763.         * ==================================
  764.         *$ SQL err building temporary index
  765.         * ==================================
  766.         STORE .F. TO printit
  767.         DO sql_idx WITH printit
  768.         
  769.         IF printit
  770.             * ============================
  771.             * Send error info to printer
  772.             * ============================
  773.             DO to_prn
  774.         ENDIF (printit)
  775.         * ======================================
  776.         *$ Quit to DOS - No attempt is
  777.         *$ made to close databases since
  778.         *$ the error condition may preclude it
  779.         * ======================================
  780.         SET CURSOR ON
  781.         SET COLOR TO W/N
  782.         CLEAR
  783.         SET CLEAR OFF && Suppresses "Normal
  784.         QUIT && Shutdown" message
  785.         
  786.     CASE xerno = 839 OR xerno = 1839
  787.         * =======================================
  788.         *$ User pressed ESC during SQL operation
  789.         * =======================================
  790.         STORE .F. TO kancel
  791.         DO sqlabort WITH kancel
  792.         
  793.         IF kancel
  794.             * ============================
  795.             *$ Return to Main Menu if user
  796.             *$ really wants to abort
  797.             * ============================
  798.             DO go_mastr
  799.         ELSE
  800.             * ============================
  801.             *$ Otherwise retry query
  802.             * ============================
  803.             DO go_again
  804.             RETRY
  805.         ENDIF (kancel)
  806.         
  807.     CASE xerno = 1002
  808.         * =================================
  809.         *$ I/O operation failure
  810.         *  DOS is unable to perform a file
  811.         *  or hardware operation.
  812.         * =================================
  813.         DO io_failed
  814.         DO setenvmt
  815.         DO save_it
  816.         * =============
  817.         *$ Quit to DOS
  818.         * =============
  819.         DO qquit
  820.         
  821.     CASE xerno = 1003 OR xerno = ;
  822.         1004 OR xerno = 1005 OR xerno = ;
  823.         1006 OR xerno = 1009 OR xerno = ;
  824.         1011 OR xerno = 1000 OR xerno = 1296
  825.         * ==============================
  826.         *$ Free handle not found
  827.         *$ Use of invalid handle
  828.         *$ Use of unallocated handle
  829.         *$ Use of transgressed handle
  830.         *$ Incorrect handle found during compaction
  831.         *$ Area can not contain handle
  832.         *$ Internal consistency error
  833.         *$ Error reading resource
  834.         *
  835.         *  Advise user of memory problems
  836.         *  and quit to DOS
  837.         * ==============================
  838.         DO mem_prob
  839.         DO setenvmt
  840.         DO save_it
  841.         * =====================
  842.         *$ Quit to DOS
  843.         * =====================
  844.         DO qquit
  845.         
  846.     CASE xerno = 1007 OR xerno = ;
  847.         1008 OR xerno = 1010
  848.         * ======================================
  849.         *$ #1007 - Transgressed node found during compaction
  850.         *$ #1008 - Foreign node found during compaction
  851.         *$ #1010 - Area size exceeded during compaction
  852.         *
  853.         * Advise user compiled code may have been
  854.         * corrupted and return to DOS.
  855.         * ========================================
  856.         DO kodekorup
  857.         DO setenvmt
  858.         DO save_it
  859.         * =====================
  860.         *$ Quit to DOS
  861.         * =====================
  862.         DO qquit
  863.         
  864.     CASE xerno = 1012
  865.         * =========================================
  866.         *$ OS free memory chain has been scrambled.
  867.         *  The only solution is to return to DOS.
  868.         * =========================================
  869.         DO badchain
  870.         DO setenvmt
  871.         DO save_it
  872.         * =============
  873.         *$ Quit to DOS
  874.         * =============
  875.         DO qquit
  876.         
  877.     CASE xerno = 1098
  878.         * ======================================
  879.         *$ API function _UserError() was called
  880.         *  There is a problem in the API library
  881.         *  being utilized
  882.         * ======================================
  883.         DO bad_api
  884.         DO go_mastr
  885.         
  886.     CASE xerno = 1101 OR xerno = 101
  887.         * ====================
  888.         *$ Cannot open file
  889.         * ====================
  890.         DO badrights
  891.         DO qquit
  892.         
  893.     CASE xerno = 1102 OR xerno = 1157 OR xerno = ;
  894.         1410 OR xerno = 102 OR xerno = 1160
  895.         * ==================================
  896.         *$ Can not create file or update file
  897.         * ==================================
  898.         DO nocreat
  899.         * ============================
  900.         *$ Send error info to printer
  901.         * ============================
  902.         DO to_prn
  903.         DO qquit
  904.         
  905.     CASE xerno = 1104
  906.         * =====================
  907.         *$ File read error
  908.         * =====================
  909.         DO read_err WITH tryagain
  910.         
  911.         IF tryagain
  912.             * =============================
  913.             *$ Retry for use of the file
  914.             * =============================
  915.             DO go_again
  916.             RETRY
  917.         ELSE
  918.             * =======================================
  919.             *$ Abort and return to the MASTER module
  920.             *  Information is saved to FP25EROR database
  921.             * =======================================
  922.             DO go_mastr
  923.         ENDIF (tryagain)
  924.         
  925.     CASE xerno = 1105
  926.         * ===================
  927.         *$ File write error
  928.         * ===================
  929.         DO rite_err WITH tryagain
  930.         
  931.         IF tryagain
  932.             * =============================
  933.             *$ Retry for use of the file
  934.             * =============================
  935.             DO go_again
  936.             RETRY
  937.         ELSE
  938.             * =======================================
  939.             *$ Abort and return to the MASTER module
  940.             *  Information is saved to FP25EROR database
  941.             * =======================================
  942.             DO go_mastr
  943.         ENDIF (tryagain)
  944.         
  945.     CASE xerno = 1106
  946.         * ======================================
  947.         *$ Transaction in progress
  948.         *  For Novell TTS only
  949.         * ======================================
  950.         DO transactn WITH tryagain
  951.         
  952.         IF tryagain
  953.             * =============================
  954.             *$ Retry for use of the file
  955.             * =============================
  956.             DO go_again
  957.             RETRY
  958.         ELSE
  959.             * =======================================
  960.             *$ Abort and return to the MASTER module
  961.             *  Information is saved to FP25EROR database
  962.             * =======================================
  963.             DO go_mastr
  964.         ENDIF (tryagain)
  965.         
  966.     CASE xerno = 1112
  967.         * =====================
  968.         *$ File close error
  969.         * =====================
  970.         DO badclose WITH tryagain
  971.         
  972.         IF tryagain
  973.             * =============================
  974.             *$ Try to close the file again
  975.             * =============================
  976.             DO go_again
  977.             RETRY
  978.         ELSE
  979.             * =======================================
  980.             *$ Abort to DOS
  981.             *  Information is saved to FP25EROR database
  982.             * =======================================
  983.             DO setenvmt
  984.             DO save_it
  985.             DO qquit
  986.         ENDIF (tryagain)
  987.         
  988.     CASE xerno = 1154 OR xerno = 1155
  989.         * ======================================
  990.         *$ #1154 - Invalid buffpoint call
  991.         *$ #1155 - Invalid buffdirty call
  992.         * =======================================
  993.         DO mem_prob
  994.         DO setenvmt
  995.         DO save_it
  996.         * =====================
  997.         *$ Quit to DOS
  998.         * =====================
  999.         DO qquit
  1000.         
  1001.     CASE xerno = 1190 OR xerno = ;
  1002.         1192 OR xerno = ;
  1003.         1691 OR xerno = 1711
  1004.         * ====================================
  1005.         *$ Invalid .LIB signature
  1006.         *$ Internal .LIB undefined symbol error
  1007.         *$ Library file is invalid
  1008.         *$ API library revision mismatch.
  1009.         * =====================================
  1010.         DO bad_api
  1011.         DO go_mastr
  1012.         
  1013.     CASE xerno = 1195 OR xerno = 1309
  1014.         * ===================================
  1015.         *$ Object file is the wrong version.
  1016.         *$ <file> is not an object file
  1017.         * ===================================
  1018.         DO bad_obj
  1019.         DO go_mastr
  1020.         
  1021.     CASE xerno = 1196
  1022.         * ======================================
  1023.         *$ <file> is not a FoxPro .EXE file
  1024.         * ======================================
  1025.         DO notfoxexe
  1026.         DO go_mastr
  1027.         
  1028.     CASE xerno = 1201 OR xerno = 1308
  1029.         * =====================================
  1030.         *$ Too many names used (1201)
  1031.         *$ or stack overflow (1308)
  1032.         *  Since the NAMES table has been
  1033.         *  exhausted it will may not be
  1034.         *  possible to open the SYSDATA or
  1035.         *  FP25EROR databases to save the info
  1036.         * =====================================
  1037.         STORE .F. TO printit
  1038.         DO verbose WITH printit
  1039.         
  1040.         IF printit
  1041.             * ============================
  1042.             * Send error info to printer
  1043.             * ============================
  1044.             DO to_prn
  1045.         ENDIF (printit)
  1046.         * ===============
  1047.         *$ Quit to DOS
  1048.         * ===============
  1049.         DO qquit
  1050.         
  1051.     CASE xerno = 1294
  1052.         * ===========================
  1053.         *$ FOXUSER file is invalid
  1054.         * ===========================
  1055.         DO bad_resrc
  1056.         DO save_it
  1057.         DO qquit
  1058.         
  1059.     CASE xerno = 1405
  1060.         * ========================
  1061.         *$ RUN/! command failed
  1062.         * ========================
  1063.         DO norun
  1064.         DO go_mastr
  1065.         
  1066.     CASE xerno = 1462
  1067.         * ==================================
  1068.         *$ File internal consistence error
  1069.         *
  1070.         *  Advise user of memory problems
  1071.         *  and quit to DOS
  1072.         * ==============================
  1073.         DO mem_prob
  1074.         DO setenvmt
  1075.         DO save_it
  1076.         * =====================
  1077.         *$ Quit to DOS
  1078.         * =====================
  1079.         DO qquit
  1080.         
  1081.     CASE xerno = 1632
  1082.         * =========================================
  1083.         *$ Invalid WINDOW file format (.WIN file)
  1084.         * Advise user file has been corrupted and
  1085.         * return them to main menu
  1086.         * =========================================
  1087.         DO bad_win
  1088.         DO go_mastr
  1089.         
  1090.     CASE xerno = 1643 OR xerno = 1644
  1091.         * ========================================
  1092.         *$ Printer driver is corrupted or missing
  1093.         *  Abort & return to Master Module
  1094.         * ========================================
  1095.         DO pkorrupt
  1096.         DO go_mastr
  1097.         
  1098.     CASE xerno = 1661
  1099.         * =========================================
  1100.         *$ Invalid Excel version 2.0 file format
  1101.         * =========================================
  1102.         DO badexcel
  1103.         DO go_mastr
  1104.         
  1105.     CASE xerno = 1671 OR xerno = 1672
  1106.         * ===========================================
  1107.         *$ Cannot import from a password protected file
  1108.         *$ Cannot append from a password protected file
  1109.         * ============================================
  1110.         DO enkrypted
  1111.         DO go_mastr
  1112.         
  1113.     CASE xerno = 1673 OR xerno = 1674
  1114.         * ========================================
  1115.         *$ Invalid Symphony version X file format
  1116.         * ========================================
  1117.         DO badsymph WITH xerno
  1118.         DO go_mastr
  1119.         
  1120.     CASE xerno = 1679
  1121.         * ===========================================
  1122.         *$ Import only Worksheet A for Lotus 1-2-3
  1123.         *  version 3.0 files.
  1124.         *
  1125.         *  Inform user and provide options to
  1126.         *  continue or abort
  1127.         * ===========================================
  1128.         STORE .F. TO kontinu
  1129.         DO a_only WITH kontinu
  1130.         
  1131.         IF kontinu
  1132.             SET CONSOLE &xkonsol
  1133.             SET DEVICE TO &xdevice
  1134.             DO erorset
  1135.             RETURN
  1136.         ELSE
  1137.             DO go_mastr
  1138.         ENDIF (kontinu)
  1139.         
  1140.     CASE xerno = 1680
  1141.         * =========================================
  1142.         *$ Worksheet A for Lotus 1-2-3 v 3.0 is hidden
  1143.         * =========================================
  1144.         DO l_hide
  1145.         DO go_mastr
  1146.         
  1147.     CASE xerno = 1688
  1148.         * ===========================================
  1149.         *$ Invalid Paradox v 3.5 file format
  1150.         * ===========================================
  1151.         DO bad_pardx
  1152.         DO go_mastr
  1153.         
  1154.     CASE xerno = 1705
  1155.         * ========================================
  1156.         *$ File access denied
  1157.         *
  1158.         *  If user is on a DOS based LAN s/he
  1159.         *  is provided with option to retry for
  1160.         *  use of the file.  Otherwise, routine
  1161.         *  is aborted & return to MASTER module
  1162.         * ========================================
  1163.         IF ! USED("SYSDATA")
  1164.             SELECT 0
  1165.             USE sysdata NOUPDATE
  1166.         ELSE
  1167.             SELECT sysdata
  1168.         ENDIF (! USED("SYSDATA"))
  1169.         
  1170.         DO CASE
  1171.             CASE sysdata.multi_user AND sysdata.dos_lan
  1172.                 * =========================================
  1173.                 * In multi-user mode on a DOS based LAN
  1174.                 * where DOS SHARE is utilized.  Provide
  1175.                 * user with option to retry for use of file.
  1176.                 * =========================================
  1177.                 STORE .F. TO re_try
  1178.                 DO dnoacces WITH re_try
  1179.                 
  1180.                 IF ! re_try
  1181.                     DO go_mastr
  1182.                 ELSE
  1183.                     DO go_again
  1184.                     RETRY
  1185.                 ENDIF (! re_try)
  1186.                 
  1187.             CASE sysdata.multi_user AND ! sysdata.dos_lan
  1188.                 * ============================================
  1189.                 * In multi-user mode on a non-DOS based LAN
  1190.                 * such as Novell 286/386, Banyan, Lan Man
  1191.                 * ============================================
  1192.                 DO noaccess
  1193.                 DO go_mastr
  1194.                 
  1195.             CASE ! sysdata.multi_user
  1196.                 * ============================================
  1197.                 * Working in stand-alone mode
  1198.                 * ============================================
  1199.                 DO snoacces
  1200.                 DO go_mastr
  1201.         ENDCASE
  1202.         DO go_mastr
  1203.         
  1204.     CASE xerno = 1707
  1205.         * ================================================
  1206.         *$ Structural .CDX is missing & must be recreated
  1207.         * ================================================
  1208.         DO no_cdx
  1209.         DO setenvmt
  1210.         DO save_it
  1211.         * ==============
  1212.         *$ Quit to DOS
  1213.         * ==============
  1214.         DO qquit
  1215.         
  1216.     CASE xerno = 1709
  1217.         * =================================
  1218.         *$ Cannot load 16-bit API interface
  1219.         *  Extended edition only.  (PROAPI16
  1220.         *  not utilized in FoxPro 2.5)
  1221.         * =================================
  1222.         DO noapi
  1223.         DO qquit
  1224.         
  1225.     CASE xerno = 1715
  1226.         * ===================================
  1227.         *$ Server "<server>" not found.
  1228.         *  Server specified with SET PRINTER TO
  1229.         *  command could not be found.
  1230.         * ===================================
  1231.         DO nopserver WITH xmissing
  1232.         DO go_mastr
  1233.         
  1234.     CASE xerno = 1716
  1235.         * ================================
  1236.         *$ Queue "<queue>" not found.
  1237.         * ================================
  1238.         DO no_que WITH xmissing
  1239.         DO go_mastr
  1240.         
  1241.     CASE xerno = 1726
  1242.         * ==================================
  1243.         *$ API library not found
  1244.         *  A SET LIBRARY TO was issued but the
  1245.         *  .PLB can not be found OR a RELEASE
  1246.         *  LIBRARY command was issued and the
  1247.         *  .PLB can not be found.  An earlier
  1248.         *  IF clause checks to see if "RELEASE"
  1249.         *  was included in the command that
  1250.         *  generated the error, so we know at
  1251.         *  this point that the .PLB can not
  1252.         *  be found.  User is returned to the
  1253.         *  main menu.
  1254.         * ===================================
  1255.         DO no_plb
  1256.         DO go_mastr
  1257.         
  1258.     CASE xerno = 823 OR xerno = 1823
  1259.         * ============================================
  1260.         *$  Error 823 or 1823 is generated when a SQL
  1261.         *   open of a specific file fails.
  1262.         *   Abort & return to master
  1263.         * ==========================================
  1264.         DO nosqlopen
  1265.         DO go_mastr
  1266.         
  1267.     OTHERWISE
  1268.         DO progbug
  1269.         DO go_mastr
  1270. ENDCASE xerno
  1271. * End procedure FP25EROR
  1272.  
  1273.  
  1274.  
  1275. *!*****************************************************************************
  1276. *!
  1277. *!      Procedure: GO_MASTR
  1278. *!
  1279. *!      Called by: FP25EROR.PRG                      
  1280. *!
  1281. *!          Calls: SETENVMT           (procedure in FP25EROR.PRG)
  1282. *!               : SAVE_IT            (procedure in FP25EROR.PRG)
  1283. *!               : ERORSET            (procedure in FP25EROR.PRG)
  1284. *!
  1285. *!*****************************************************************************
  1286. PROCEDURE go_mastr
  1287. *******************************************************************************
  1288. * Save info to FP25EROR database, reset
  1289. * environmentals and return to master module
  1290. *
  1291. *   Author: Pat Adams  (718) 469-4032
  1292. *   Date: 8/20/91
  1293. *
  1294. *   Modified 1/11/93 by Pat Adams
  1295. *       Use of color schemes added
  1296. *
  1297. *   Modified 4/6/93 by Pat Adams
  1298. *       IF traps added for memvars
  1299. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1300. DO setenvmt
  1301. * ==============================
  1302. *$ Save info to FP25EROR database
  1303. * ==============================
  1304. DO save_it
  1305. DO erorset
  1306. CLEAR GETS
  1307. CLEAR READ ALL
  1308. * ==================================
  1309. *$ Release all non-public memvars
  1310. * ==================================
  1311. RELEASE ALL
  1312. RELEASE lstext, lmtext
  1313. CLEAR TYPEAHEAD
  1314.  
  1315. IF TYPE("CURS_SET") <> "U"
  1316.     SET CURSOR &curs_set
  1317. ENDIF
  1318.  
  1319. IF TYPE("scheme20") <> "U"
  1320.     SET COLOR OF SCHEME 20 TO &scheme20
  1321. ENDIF
  1322.  
  1323. RETURN TO MASTER
  1324. * End procedure GO_MASTR
  1325.  
  1326.  
  1327.  
  1328. *!*****************************************************************************
  1329. *!
  1330. *!      Procedure: SETENVMT
  1331. *!
  1332. *!      Called by: FP25EROR.PRG                      
  1333. *!               : GO_MASTR           (procedure in FP25EROR.PRG)
  1334. *!
  1335. *!          Calls: USTRING            (procedure in FP25EROR.PRG)
  1336. *!
  1337. *!*****************************************************************************
  1338. PROCEDURE setenvmt
  1339. *******************************************************************************
  1340. *& Change full range of environmentals
  1341. *  in anticipation of a RETURN TO MASTER
  1342. *
  1343. *   Author: Pat Adams  (718) 469-4032
  1344. *   Date: 7/24/91
  1345. *
  1346. *   Modified 1/11/93 by Pat Adams
  1347. *       Dynamic naming changed to USTRING()
  1348. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1349. PRIVATE disk_space
  1350. STORE DISKSPACE() TO disk_space
  1351. SET CONSOLE OFF
  1352. * =====================================
  1353. * Create a program tree 20 levels deep
  1354. * =====================================
  1355. FOR xx = 1 TO 20
  1356.     nextlevl = "PROGTREE" + ALLTRIM(TRANSFORM(xx, "@Z 99"))
  1357.     STORE SYS(16, xx) TO &nextlevl
  1358.     
  1359.     IF EMPTY(SYS(16,xx))
  1360.         EXIT
  1361.     ENDIF (EMPTY(SYS(16,xx)))
  1362. ENDFOR (xx)
  1363.  
  1364. PUBLIC lstext, lmtext
  1365. STORE ustring() + ".TXT" TO lstext
  1366. LIST STATUS TO (lstext)
  1367. * ==================================================
  1368. *$ Create files which hold information from LIST STATUS
  1369. *$ and LIST MEMORY prior to closing files, etc.
  1370. * ==================================================
  1371. STORE ustring() + ".TXT" TO lmtext
  1372. LIST MEMORY TO (lmtext)
  1373. SET CONSOLE ON
  1374. * =================================================
  1375. * Re-initialize environment for defaults prior to
  1376. * commencing any of the following activities
  1377. * =================================================
  1378. ON KEY && Null out hot keys
  1379. CLEAR GETS
  1380. CLEAR READ ALL
  1381. CLEAR FIELDS
  1382. CLEAR MACROS
  1383. CLEAR WINDOWS
  1384. DEACTIVATE MENUS
  1385. CLEAR MENUS
  1386. DEACTIVATE POPUPS
  1387. CLEAR POPUPS
  1388. CLEAR PROMPT
  1389. UNLOCK ALL
  1390. SET DEVICE TO SCREEN
  1391. CLOSE DATA
  1392. SET TALK OFF
  1393. SET ESCAPE OFF
  1394. SET CURSOR OFF
  1395. RETURN
  1396. * End procedure SETENVMT
  1397.  
  1398.  
  1399. *!*****************************************************************************
  1400. *!
  1401. *!      Procedure: SAVE_IT
  1402. *!
  1403. *!      Called by: FP25EROR.PRG                      
  1404. *!               : GO_MASTR           (procedure in FP25EROR.PRG)
  1405. *!
  1406. *!          Calls: LOGVIEW            (procedure in FP25EROR.PRG)
  1407. *!
  1408. *!           Uses: SYSDATA.DBF        
  1409. *!               : FP25EROR.DBF       
  1410. *!
  1411. *!*****************************************************************************
  1412. PROCEDURE save_it
  1413. *******************************************************************************
  1414. *& Store error info to FP25EROR database
  1415. *
  1416. *   Author: Pat Adams  (718) 469-4032
  1417. *   Date: 7/29/91
  1418. *
  1419. *   Modified by Pat Adams 9/10/91
  1420. *       Bug fix - Corrected by adding SET CONSOLE ON
  1421. *
  1422. *   Modified 1/11/93 by Pat Adams
  1423. *       Use of color schemes & SYSDTA added
  1424. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1425. DEFINE WINDOW moment FROM 12,29 TO 14,51 "▒","▒","▒", ;
  1426.     "▒","▒","▒","▒","▒" COLOR SCHEME 20 SHADOW
  1427. ACTIVATE SCREEN
  1428. ACTIVATE WINDOW moment
  1429. @ 0, 0 SAY REPLICATE("▒",21)
  1430. @ 0, 2 SAY "ONE MOMENT PLEASE"
  1431. * ==============================================
  1432. * NOTE: In a single user system running on a 386
  1433. * machine this window may flash by so rapidly that
  1434. * it can be omitted.
  1435. * ==============================================
  1436. IF ! USED("SYSDATA")
  1437.     SELECT 0
  1438.     USE sysdata NOUPDATE
  1439. ELSE
  1440.     SELECT sysdata
  1441. ENDIF (! USED("SYSDATA"))
  1442.  
  1443. IF sysdata.multi_user
  1444.     PRIVATE uname
  1445.     STORE GETENV("USER") TO uname
  1446. ENDIF (sysdata.multi_user)
  1447. * ==========================
  1448. *$ Store info to error file
  1449. * ==========================
  1450. IF ! USED("FP25EROR")
  1451.     SELECT 0
  1452.     USE fp25eror
  1453. ELSE
  1454.     SELECT fp25eror
  1455. ENDIF (! USED("FP25EROR"))
  1456.  
  1457. SET CONSOLE OFF
  1458. APPEND BLANK
  1459. REPLACE er_no WITH xerno, er_msg WITH xmsg, ;
  1460.     kode WITH xkode, mmodul WITH xmodul, ddate ;
  1461.     WITH DATE(), ttime WITH TIME(), line_no WITH xline
  1462.  
  1463. IF TYPE("UNAME") <> "U" .AND. ! EMPTY(uname)
  1464.     REPLACE lan_user WITH uname
  1465. ELSE
  1466.     REPLACE lan_user WITH "NOT AVAILABL"
  1467. ENDIF (TYPE("UNAME") <> "U" .AND. ! EMPTY(uname))
  1468. * ==================================================
  1469. *$ Put info from the files created with LIST MEMORY
  1470. *$ and LIST STATUS into the memo field and then
  1471. *$ erase the text files
  1472. * ==================================================
  1473. APPEND MEMO notes FROM (lstext)
  1474. ERASE (lstext)
  1475. APPEND MEMO notes FROM (lmtext)
  1476. ERASE (lmtext)
  1477. SET CONSOLE ON
  1478.  
  1479. IF TYPE("TESTING") <> "U"
  1480.     * =================================================
  1481.     *$ If memvar TESTING has been initialized at a higher
  1482.     *$ level provide developer/programmer with option to
  1483.     *$ view error log file now
  1484.     * =================================================
  1485.     IF testing
  1486.         DO logview
  1487.     ENDIF (testing)
  1488. ENDIF (TYPE("TESTING") <> "U")
  1489.  
  1490. CLOSE DATA
  1491. RELEASE WINDOW moment
  1492. RETURN
  1493. * End procedure save_it
  1494.  
  1495.  
  1496.  
  1497. *!*****************************************************************************
  1498. *!
  1499. *!      Procedure: NO_FILE
  1500. *!
  1501. *!      Called by: FP25EROR.PRG                      
  1502. *!
  1503. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  1504. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  1505. *!
  1506. *!*****************************************************************************
  1507. PROCEDURE no_file
  1508. *******************************************************************************
  1509. *& Error #1 - File does not exist or can not be found
  1510. *& Error #802 & 1802 - SQL database file can not be found
  1511. *& Error #1162 - PROCEDURE can not be found
  1512. *
  1513. *     The passed parameter is the name of the missing item
  1514. *
  1515. *   Author: Pat Adams  (718) 469-4032
  1516. *   Date: 8/4/91
  1517. *
  1518. *   Modified 1/11/93 by Pat Adams
  1519. *       Use of color schemes & SYSDATA added
  1520. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1521. PARAMETERS not_there
  1522. not_there = UPPER(ALLTRIM(not_there))
  1523. DEFINE WINDOW bugbox FROM 5,19 TO 17,61 DOUBLE ;
  1524.     COLOR SCHEME 20 SHADOW
  1525. ACTIVATE SCREEN
  1526. ACTIVATE WINDOW bugbox NOSHOW
  1527. @ 0,11 SAY "   BAD NEWS   " COLOR (redblink)
  1528. @ 2, 5 SAY "The following file is missing:"
  1529. @ 3, 0 SAY PADC(not_there,40)
  1530. @ 4,13 SAY "Please contact:"
  1531. SHOW WINDOW bugbox
  1532. PRIVATE m_call, m_title, m_phone
  1533. STORE SPACE(0) TO m_call, m_title, m_phone
  1534. * ========================================
  1535. *$ Get info on appropriate person to call
  1536. * ========================================
  1537. DO lan_admin
  1538. @ 5, 0 SAY PADC(m_call,40)
  1539. @ 6, 0 SAY PADC(m_title,40)
  1540. @ 7, 0 SAY PADC(m_phone,40)
  1541. @ 8, 9 SAY "to report this problem."
  1542. @ 10, 1 SAY "Press any key to return " + ;
  1543.     "to main menu..." COLOR (lowtext)
  1544. DO razberry && SOUND Bronx cheer
  1545. = INKEY(0, "MH") && WAIT for keypress or mouse click
  1546. CLEAR TYPEAHEAD
  1547. RELEASE WINDOW bugbox
  1548. RETURN
  1549. * End procedure NO_FILE
  1550.  
  1551.  
  1552. *!*****************************************************************************
  1553. *!
  1554. *!      Procedure: RAZBERRY
  1555. *!
  1556. *!      Called by: XLOW_MEM           (procedure in FP25EROR.PRG)
  1557. *!               : LOW_MEM            (procedure in FP25EROR.PRG)
  1558. *!               : NO_FILE            (procedure in FP25EROR.PRG)
  1559. *!               : TOO_HIGH           (procedure in FP25EROR.PRG)
  1560. *!               : LOWFILES           (procedure in FP25EROR.PRG)
  1561. *!               : INDEX_ER           (procedure in FP25EROR.PRG)
  1562. *!               : UPMVCOUNT          (procedure in FP25EROR.PRG)
  1563. *!               : TOOBIG             (procedure in FP25EROR.PRG)
  1564. *!               : NOMEMO             (procedure in FP25EROR.PRG)
  1565. *!               : BAD_RPT            (procedure in FP25EROR.PRG)
  1566. *!               : BADMEMFL           (procedure in FP25EROR.PRG)
  1567. *!               : NOSPACE            (procedure in FP25EROR.PRG)
  1568. *!               : TO_PRN             (procedure in FP25EROR.PRG)
  1569. *!               : KORRUPT            (procedure in FP25EROR.PRG)
  1570. *!               : LREADONLY          (procedure in FP25EROR.PRG)
  1571. *!               : READONLY           (procedure in FP25EROR.PRG)
  1572. *!               : BAD_DIF            (procedure in FP25EROR.PRG)
  1573. *!               : BAD_SYLK           (procedure in FP25EROR.PRG)
  1574. *!               : INVALPRN           (procedure in FP25EROR.PRG)
  1575. *!               : NOTREADY           (procedure in FP25EROR.PRG)
  1576. *!               : NOTRIGHT           (procedure in FP25EROR.PRG)
  1577. *!               : BADLOTUS           (procedure in FP25EROR.PRG)
  1578. *!               : REC2BIG            (procedure in FP25EROR.PRG)
  1579. *!               : SQL_INTL           (procedure in FP25EROR.PRG)
  1580. *!               : SQLTRASH           (procedure in FP25EROR.PRG)
  1581. *!               : NOSQLIDX           (procedure in FP25EROR.PRG)
  1582. *!               : SQL_IDX            (procedure in FP25EROR.PRG)
  1583. *!               : SQLABORT           (procedure in FP25EROR.PRG)
  1584. *!               : IO_FAILED          (procedure in FP25EROR.PRG)
  1585. *!               : MEM_PROB           (procedure in FP25EROR.PRG)
  1586. *!               : KODEKORUP          (procedure in FP25EROR.PRG)
  1587. *!               : BADCHAIN           (procedure in FP25EROR.PRG)
  1588. *!               : BAD_API            (procedure in FP25EROR.PRG)
  1589. *!               : BADRIGHTS          (procedure in FP25EROR.PRG)
  1590. *!               : NOCREAT            (procedure in FP25EROR.PRG)
  1591. *!               : READ_ERR           (procedure in FP25EROR.PRG)
  1592. *!               : RITE_ERR           (procedure in FP25EROR.PRG)
  1593. *!               : TRANSACTN          (procedure in FP25EROR.PRG)
  1594. *!               : BADCLOSE           (procedure in FP25EROR.PRG)
  1595. *!               : BAD_OBJ            (procedure in FP25EROR.PRG)
  1596. *!               : NOTFOXEXE          (procedure in FP25EROR.PRG)
  1597. *!               : VERBOSE            (procedure in FP25EROR.PRG)
  1598. *!               : BAD_RESRC          (procedure in FP25EROR.PRG)
  1599. *!               : NORUN              (procedure in FP25EROR.PRG)
  1600. *!               : BAD_WIN            (procedure in FP25EROR.PRG)
  1601. *!               : PKORRUPT           (procedure in FP25EROR.PRG)
  1602. *!               : BADEXCEL           (procedure in FP25EROR.PRG)
  1603. *!               : ENKRYPTED          (procedure in FP25EROR.PRG)
  1604. *!               : BADSYMPH           (procedure in FP25EROR.PRG)
  1605. *!               : A_ONLY             (procedure in FP25EROR.PRG)
  1606. *!               : L_HIDE             (procedure in FP25EROR.PRG)
  1607. *!               : BAD_PARDX          (procedure in FP25EROR.PRG)
  1608. *!               : DNOACCES           (procedure in FP25EROR.PRG)
  1609. *!               : NOACCESS           (procedure in FP25EROR.PRG)
  1610. *!               : SNOACCES           (procedure in FP25EROR.PRG)
  1611. *!               : NO_CDX             (procedure in FP25EROR.PRG)
  1612. *!               : NOAPI              (procedure in FP25EROR.PRG)
  1613. *!               : NOPSERVER          (procedure in FP25EROR.PRG)
  1614. *!               : NO_QUE             (procedure in FP25EROR.PRG)
  1615. *!               : NO_PLB             (procedure in FP25EROR.PRG)
  1616. *!               : NOSQLOPEN          (procedure in FP25EROR.PRG)
  1617. *!               : PROGBUG            (procedure in FP25EROR.PRG)
  1618. *!
  1619. *!*****************************************************************************
  1620. PROCEDURE razberry
  1621. ******************************************************************************
  1622. *& Sound bell as a "raspberry" or Bronx Cheer
  1623. *
  1624. *     Author: Pat Adams, DB Unlimited
  1625. *     Date: 7/24/89
  1626. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1627. SET BELL TO 20,15
  1628. ?? CHR(7)
  1629. SET BELL TO
  1630. * End Procedure Razberry
  1631.  
  1632.  
  1633. *!*****************************************************************************
  1634. *!
  1635. *!      Procedure: LOGVIEW
  1636. *!
  1637. *!      Called by: SAVE_IT            (procedure in FP25EROR.PRG)
  1638. *!
  1639. *!          Calls: YES_NO             (procedure in FP25EROR.PRG)
  1640. *!               : MEMOVIEW           (procedure in FP25EROR.PRG)
  1641. *!               : QQUIT              (procedure in FP25EROR.PRG)
  1642. *!               : KANCEL             (procedure in FP25EROR.PRG)
  1643. *!               : ERORSET            (procedure in FP25EROR.PRG)
  1644. *!
  1645. *!*****************************************************************************
  1646. PROCEDURE logview
  1647. *******************************************************************************
  1648. *& View error log if user so requests
  1649. *
  1650. *   Author: Pat Adams  (718) 469-4032
  1651. *   Date: 8/2/91
  1652. *
  1653. *   Modified 8/16/91 by Pat Adams
  1654. *     F2 KEY LABEL setting stored & then reinitialized
  1655. *     to original setting
  1656. *
  1657. *   Modified by Pat Adams 8/19/91
  1658. *     Existing ON KEY LABELs changed to SHIFT-Fx
  1659. *     to avoid conflicts with more commonly used
  1660. *     function keys.
  1661. *
  1662. *   Modified by Pat Adams 8/22/91
  1663. *      Use of ESC key to return to command window
  1664. *      if in interactive version of FoxPro 2.0 added
  1665. *
  1666. *   Modified by Pat Adams 12/16/91
  1667. *      Problems with cursor settings corrected
  1668. *
  1669. *   Modified 1/11/93 by Pat Adams
  1670. *       Use of color schemes & SYSDATA added
  1671. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1672. PRIVATE do_it, scheme10, cursset, sf2key, sf9key, cqkey, ;
  1673.     esckey, escstat, ttitle, clockset
  1674. STORE .F. TO do_it
  1675. STORE SET("CURSOR") TO cursset
  1676. RELEASE WINDOW moment
  1677. DEFINE WINDOW question FROM 12,12 TO 14,68 DOUBLE ;
  1678.     COLOR N/W,N/W,R+/W SHADOW
  1679. ACTIVATE SCREEN
  1680. ACTIVATE WINDOW question
  1681. @ 0, 1 SAY "Would you like to view the error " + ;
  1682.     "log file now?  (Y/N)"
  1683. DO yes_no WITH do_it
  1684. RELEASE WINDOW question
  1685.  
  1686. IF do_it
  1687.     STORE SCHEME(10) TO scheme10
  1688.     SET COLOR OF SCHEME 10 TO +W/N, N/W, +W/+R, R/W, R/W, N/W, N/W
  1689.     SET CURSOR ON
  1690.     * ==========================================
  1691.     *$ Store any ON KEY LABEL SHIFT-F2 setting
  1692.     *  and initialize for exit of BROWSE/MEMO
  1693.     * ==========================================
  1694.     STORE ON("KEY", "SHIFT-F2") TO sf2key
  1695.     ON KEY LABEL shift-f2 KEYBOARD CHR(23) && EXIT from BROWSE
  1696.     * ==========================================
  1697.     *$ Store any ON KEY LABEL SHIFT-F9 setting
  1698.     *  and initialize for exit of BROWSE/MEMO
  1699.     * ==========================================
  1700.     STORE ON("KEY", "SHIFT-F9") TO sf9key
  1701.     ON KEY LABEL shift-f9 DO memoview && OPEN window & view memo field
  1702.     * ===========================================
  1703.     *$ Store any ON KEY LABEL CTRL-Q TO cqkey
  1704.     *  and initialize for return to DOS
  1705.     * ===========================================
  1706.     STORE ON("KEY", "CTRL-Q") TO cqkey
  1707.     ON KEY LABEL ctrl-q DO qquit
  1708.     ttitle = IIF("EXE" $ VERS(1), "", " ESC for " + ;
  1709.         "COMMAND WIN, ") + "STATS=SHIFT-F9, " + ;
  1710.         "EXIT=SHIFT-F2, CTRL-Q=EXIT TO DOS"
  1711.     DEFINE WINDOW browin FROM 0,0 TO 24,79 DOUBLE ;
  1712.         COLOR W+/N,N/W, W+/R, R/W, R/W, N/W, N/W ;
  1713.         TITLE ' &ttitle ' FLOAT ZOOM GROW
  1714.     DEFINE WINDOW memwin FROM 7,0 TO 21,79 DOUBLE ;
  1715.         COLOR W+/N,N/W,R+/N,R+/N,R+/N, N/W,N/W ;
  1716.         TITLE ' PRESS SHIFT-F2 TO EXIT ' FLOAT GROW ZOOM
  1717.     STORE SET("CLOCK") TO clockset
  1718.     SET CLOCK OFF
  1719.     
  1720.     IF ! "EXE" $ VERS(1)
  1721.         * ===============================================
  1722.         *$ If working in interactive development version
  1723.         *$ provide opportunity to press ESC to return to
  1724.         *$ command window
  1725.         * ===============================================
  1726.         STORE ON("KEY", "ESC") TO esckey
  1727.         STORE SET("ESCAPE") TO escstat
  1728.         SET ESCAPE ON
  1729.         ON KEY LABEL esc DO kancel
  1730.     ENDIF (! "EXE" $ VERS(1))
  1731.     
  1732.     SET REFRESH TO 200
  1733.     BROWSE WINDOW browin
  1734.     * =========================================
  1735.     *$ Restore previous ON KEY LABEL settings
  1736.     * =========================================
  1737.     ON KEY LABEL f2 &sf2key
  1738.     ON KEY LABEL f9 &sf9key
  1739.     ON KEY LABEL ctrl-q &cqkey
  1740.     SET CLOCK &clockset
  1741.     CLEAR TYPEAHEAD
  1742.     
  1743.     IF ! "EXE" $ VERS(1)
  1744.         ON KEY LABEL esc &esckey
  1745.         SET ESCAPE &escstat
  1746.     ENDIF (! "EXE" $ VERS(1))
  1747.     
  1748.     SET REFRESH TO 0, 200
  1749.     CLEAR WINDOWS
  1750.     SET STATUS OFF
  1751.     SET COLOR OF SCHEME 10 TO &scheme10
  1752.     SET CURSOR &cursset
  1753. ENDIF (do_it)
  1754.  
  1755. DO erorset
  1756. RETURN
  1757. * End procedure LOGVIEW
  1758.  
  1759.  
  1760. *!*****************************************************************************
  1761. *!
  1762. *!      Procedure: MEMOVIEW
  1763. *!
  1764. *!      Called by: LOGVIEW            (procedure in FP25EROR.PRG)
  1765. *!               : MEMOVIEW           (procedure in FP25EROR.PRG)
  1766. *!
  1767. *!          Calls: MEMOVIEW           (procedure in FP25EROR.PRG)
  1768. *!
  1769. *!*****************************************************************************
  1770. PROCEDURE memoview
  1771. *******************************************************************************
  1772. *& Open large window to view memo field info in error log
  1773. *
  1774. *  Routine assumes the F2 key has been enabled at a higher
  1775. *  level to exit the window and that window MEMWIN has been
  1776. *  defined at a higher level.
  1777. *
  1778. *   Author: Pat Adams  (718) 469-4032
  1779. *   Date: 8/2/91
  1780. *
  1781. *   Modified 8/19/91 by Pat Adams
  1782. *       Changes made to reflect modified ON KEY LABEL usage
  1783. *
  1784. *   Modified 1/11/93 by Pat Adams
  1785. *       Use of color schemes & SYSDATA added
  1786. *
  1787. *   Modified 3/12/93 by Pat Adams
  1788. *       SET WINDOW OF MEMO TO added to clear out
  1789. *       memo field window.
  1790. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1791. ON KEY LABEL shift-f9
  1792. SET WINDOW OF MEMO TO memwin
  1793. MODIFY MEMO notes NOEDIT
  1794. CLOSE MEMO notes
  1795. SET WINDOW OF MEMO TO
  1796. DEACTIVATE WINDOW memwin
  1797. CLEAR TYPEAHEAD
  1798. ON KEY LABEL shift-f9 DO memoview
  1799. RETURN
  1800. * End procedure MEMOVIEW
  1801.  
  1802.  
  1803.  
  1804. *!*****************************************************************************
  1805. *!
  1806. *!      Procedure: YES_NO
  1807. *!
  1808. *!      Called by: FILE_BUSY          (procedure in FP25EROR.PRG)
  1809. *!               : NOSPACE            (procedure in FP25EROR.PRG)
  1810. *!               : TO_PRN             (procedure in FP25EROR.PRG)
  1811. *!               : REC_BUSY           (procedure in FP25EROR.PRG)
  1812. *!               : NOTREADY           (procedure in FP25EROR.PRG)
  1813. *!               : SQL_IDX            (procedure in FP25EROR.PRG)
  1814. *!               : SQLABORT           (procedure in FP25EROR.PRG)
  1815. *!               : READ_ERR           (procedure in FP25EROR.PRG)
  1816. *!               : RITE_ERR           (procedure in FP25EROR.PRG)
  1817. *!               : TRANSACTN          (procedure in FP25EROR.PRG)
  1818. *!               : BADCLOSE           (procedure in FP25EROR.PRG)
  1819. *!               : VERBOSE            (procedure in FP25EROR.PRG)
  1820. *!               : A_ONLY             (procedure in FP25EROR.PRG)
  1821. *!               : DNOACCES           (procedure in FP25EROR.PRG)
  1822. *!               : LOGVIEW            (procedure in FP25EROR.PRG)
  1823. *!
  1824. *!*****************************************************************************
  1825. PROCEDURE yes_no
  1826. *******************************************************************************
  1827. *& Get user response of Y or N and return
  1828. *
  1829. *   Passed parameter is a logical .T. or .F. and
  1830. *   is returned as a logical value.  This methodology
  1831. *   is utilized rather than a GET on a memvar or a lite
  1832. *   bar menu in order to avoid potential conflicts with
  1833. *   color settings and schemes.  In addition, this
  1834. *   "old fashioned" methodology avoids potential problems
  1835. *   that might arise if GETs, getless reads, nested reads,
  1836. *   etc. are in effect.
  1837. *
  1838. *   Mouse response is not permitted.  User MUST
  1839. *   respond with a Y or N.
  1840. *
  1841. *   Author: Pat Adams  (718) 469-4032
  1842. *   Date: 5/2/89
  1843. *
  1844. *   Modified by Pat Adams 12/16/91
  1845. *       Problems with cursor setting corrected.
  1846. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1847. PARAMETERS answer
  1848. PRIVATE kkey, cursset
  1849. STORE 0 TO kkey
  1850. STORE SET("CURSOR") TO cursset
  1851. SET CURSOR OFF
  1852.  
  1853. DO WHILE kkey = 0
  1854.     kkey = INKEY()
  1855.     
  1856.     IF kkey > 0
  1857.         * =============================
  1858.         * Function keys 2 thru 9 return
  1859.         * negative values.  This sets up
  1860.         * error trapping for that condition.
  1861.         * =============================
  1862.         IF CHR(kkey) $ "YyNn"
  1863.             IF CHR(kkey) $ "Yy"
  1864.                 STORE .T. TO answer
  1865.             ELSE
  1866.                 STORE .F. TO answer
  1867.             ENDIF (CHR(kkey) $ "Yy")
  1868.         ELSE
  1869.             STORE 0 TO kkey
  1870.         ENDIF (CHR(kkey) $ "YyNn")
  1871.     ELSE
  1872.         STORE 0 TO kkey
  1873.     ENDIF (kkey > 0)
  1874. ENDDO (kkey = 0)
  1875. * ================================
  1876. * Restore cursor to original status
  1877. * ================================
  1878. SET CURSOR &cursset)
  1879. CLEAR TYPEAHEAD
  1880. RETURN answer
  1881. * End procedure YES_NO
  1882.  
  1883.  
  1884.  
  1885. *!*****************************************************************************
  1886. *!
  1887. *!      Procedure: FILE_BUSY
  1888. *!
  1889. *!      Called by: FP25EROR.PRG                      
  1890. *!
  1891. *!          Calls: NICECHIM           (procedure in FP25EROR.PRG)
  1892. *!               : YES_NO             (procedure in FP25EROR.PRG)
  1893. *!
  1894. *!*****************************************************************************
  1895. PROCEDURE file_busy
  1896. *******************************************************************************
  1897. *$ Display window informing user required file is busy
  1898. *
  1899. *   Author: Pat Adams  (718) 469-4032
  1900. *   Date: 7/31/91
  1901. *
  1902. *   Modified 1/4/93 by Pat Adams
  1903. *       Use of color schemes & SYSDATA added
  1904. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1905. PARAMETERS re_try
  1906. DEFINE WINDOW busy FROM 8, 8 TO 15,72 DOUBLE ;
  1907.     COLOR SCHEME 20 SHADOW
  1908. ACTIVATE SCREEN
  1909. ACTIVATE WINDOW busy NOSHOW
  1910. @ 0,22 SAY "   S O R R Y   " COLOR (redblink)
  1911. @ 2, 1 SAY "Someone else was using the file required " + ;
  1912.     "at this point."
  1913. @ 3, 1 SAY "Attempting a 'retry' may find that " + ;
  1914.     "the file is now available."
  1915. @ 5, 6 SAY "Would you like to retry for use " + ;
  1916.     "of the file?  (Y/N)"
  1917. SHOW WINDOW busy
  1918. DO nicechim
  1919. DO yes_no WITH re_try
  1920. RELEASE WINDOW busy
  1921. RETURN re_try
  1922. * End procedure FILE_BUSY
  1923.  
  1924.  
  1925.  
  1926. *!*****************************************************************************
  1927. *!
  1928. *!      Procedure: GO_AGAIN
  1929. *!
  1930. *!      Called by: FP25EROR.PRG                      
  1931. *!
  1932. *!          Calls: ERORSET            (procedure in FP25EROR.PRG)
  1933. *!
  1934. *!    Other Files: &PRNT_DEVIC
  1935. *!
  1936. *!*****************************************************************************
  1937. PROCEDURE go_again
  1938. *******************************************************************************
  1939. *& Reset environment for RETRY
  1940. *
  1941. *   Author: Pat Adams  (718) 469-4032
  1942. *   Date: 8/3/91
  1943. *
  1944. *   Modified 8/19/91 by Pat Adams
  1945. *       Selection of CURR_DBF (if ! EMPTY()) added before
  1946. *       execution of the RETRY upon return
  1947. *       to calling module.  Closure of FP25EROR
  1948. *       database added in the event it was used
  1949. *       since some modules which do a RETRY also
  1950. *       save data into the error log.
  1951. *
  1952. *   Modified 9/22/91
  1953. *       GO RECNO() added following SELECT (curr_dbf)
  1954. *       to make sure any changes in a record can be
  1955. *       viewed by user.
  1956. *
  1957. *   Modified 1/11/93 by Pat Adams
  1958. *       Use of color schemes & SYSDATA added
  1959. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1960. IF USED("SYSDATA")
  1961.     SELECT sysdata
  1962.     USE
  1963. ENDIF (USED("SYSDATA"))
  1964.  
  1965. IF USED("FP25EROR")
  1966.     SELECT fp25eror
  1967.     USE
  1968. ENDIF (USED("FP25EROR"))
  1969.  
  1970. IF ! EMPTY(curr_dbf)
  1971.     SELECT (curr_dbf)
  1972.     * =====================================
  1973.     *$ Move record pointer so user will see
  1974.     *$ any changes made by others on the LAN
  1975.     * =====================================
  1976.     GO RECNO()
  1977. ENDIF (! EMPTY(curr_dbf))
  1978.  
  1979. IF ! EMPTY(top_win)
  1980.     * ===================================
  1981.     * Note that EVALUATE() does not work
  1982.     * with ACTIVATE WINDOW so ¯o is used
  1983.     * ===================================
  1984.     ACTIVATE WINDOW &top_win
  1985. ENDIF (! EMPTY(top_win))
  1986.  
  1987. SET CONSOLE &xkonsol
  1988. SET DEVICE TO &xdevice
  1989. SET PRINTER TO &prnt_devic
  1990. SET PRINT &xprint
  1991. RELEASE lstext, lmtext
  1992. DO erorset
  1993. CLEAR TYPEAHEAD
  1994. SET CURSOR &curs_set
  1995. SET COLOR OF SCHEME 20 TO (scheme20)
  1996. RETURN
  1997. * End procedure GO_AGAIN
  1998.  
  1999.  
  2000.  
  2001. *!*****************************************************************************
  2002. *!
  2003. *!      Procedure: ERORSET
  2004. *!
  2005. *!      Called by: FP25EROR.PRG                      
  2006. *!               : GO_MASTR           (procedure in FP25EROR.PRG)
  2007. *!               : GO_AGAIN           (procedure in FP25EROR.PRG)
  2008. *!               : LOGVIEW            (procedure in FP25EROR.PRG)
  2009. *!               : KANCEL             (procedure in FP25EROR.PRG)
  2010. *!
  2011. *!          Calls: FP25EROR.PRG
  2012. *!
  2013. *!*****************************************************************************
  2014. PROCEDURE erorset
  2015. *******************************************************************************
  2016. *& Reinitialize error set statement for FP25EROR
  2017. *
  2018. *   Author: Pat Adams  (718) 469-4032
  2019. *   Date: 7/12/91
  2020. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2021. ON ERROR DO fp25eror WITH ERROR(), MESSAGE(), ;
  2022.     MESSAGE(1), SYS(16), LINENO(), SYS(102), ;
  2023.     SYS(100), SYS(101), LASTKEY(), ALIAS(), ;
  2024.     SYS(18), SYS(5), SYS(12), SYS(6), SYS(2003), ;
  2025.     WONTOP(), SYS(2011), SYS(2018), SET("CURSOR")
  2026. RELEASE lstext, lmtext
  2027. RETURN
  2028. * End procedure ERORSET
  2029.  
  2030.  
  2031. *!*****************************************************************************
  2032. *!
  2033. *!      Procedure: NICECHIM
  2034. *!
  2035. *!      Called by: FILE_BUSY          (procedure in FP25EROR.PRG)
  2036. *!               : REC_BUSY           (procedure in FP25EROR.PRG)
  2037. *!
  2038. *!*****************************************************************************
  2039. PROCEDURE nicechim
  2040. *******************************************************************************
  2041. * & Sound pleasant 3 part chime
  2042. *
  2043. *     Author: Pat Adams, DB Unlimited
  2044. *   Date: 7/24/89
  2045. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2046. SET BELL TO 2000,5
  2047. ?? CHR(7)
  2048. SET BELL TO 2500,5
  2049. ?? CHR(7)
  2050. SET BELL TO 3000,5
  2051. ?? CHR(7)
  2052. SET BELL TO && RETURN BELL to normal setting
  2053. RETURN
  2054. * End Procedure NICECHIM
  2055.  
  2056.  
  2057.  
  2058. *!*****************************************************************************
  2059. *!
  2060. *!      Procedure: QQUIT
  2061. *!
  2062. *!      Called by: FP25EROR.PRG                      
  2063. *!               : LOGVIEW            (procedure in FP25EROR.PRG)
  2064. *!
  2065. *!*****************************************************************************
  2066. PROCEDURE qquit
  2067. *******************************************************************************
  2068. *& Return user to DOS
  2069. *
  2070. *   Author: Pat Adams  (718) 469-4032
  2071. *   Date: 7/7/91
  2072. *
  2073. *   Modified 1/12/93 by Pat Adams
  2074. *       SET LIBRARY TO added
  2075. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2076. CLOSE DATA
  2077. SET CURSOR ON
  2078. SET LIBRARY TO
  2079. SET COLOR TO W/N
  2080. CLEAR
  2081. SET CLEAR OFF && Suppresses "Normal Shutdown" message
  2082. QUIT
  2083. * End procedure QQUIT
  2084.  
  2085.  
  2086.  
  2087. *!*****************************************************************************
  2088. *!
  2089. *!      Procedure: REC_BUSY
  2090. *!
  2091. *!      Called by: FP25EROR.PRG                      
  2092. *!
  2093. *!          Calls: NICECHIM           (procedure in FP25EROR.PRG)
  2094. *!               : YES_NO             (procedure in FP25EROR.PRG)
  2095. *!
  2096. *!*****************************************************************************
  2097. PROCEDURE rec_busy
  2098. *******************************************************************************
  2099. *& Display window informing user record is locked by another
  2100. *
  2101. *   Author: Pat Adams  (718) 469-4032
  2102. *   Date: 8/1//91
  2103. *
  2104. *   Modified 1/11/93 by Pat Adams
  2105. *       Use of SYSDATA & color schemes added
  2106. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2107. PARAMETERS re_try
  2108. DEFINE WINDOW busy FROM 7,18 TO 14,61 DOUBLE ;
  2109.     COLOR SCHEME 20 SHADOW
  2110. ACTIVATE SCREEN
  2111. ACTIVATE WINDOW busy NOSHOW
  2112. @ 0,12 SAY "   S O R R Y   " COLOR (redblink)
  2113. @ 2, 1 SAY "Someone else locked the record you need."
  2114. @ 3, 1 SAY "If you try again it may now be available."
  2115. @ 5, 6 SAY "WOULD YOU LIKE TO RETRY?  (Y/N)"
  2116. SHOW WINDOW busy
  2117. DO nicechim
  2118. DO yes_no WITH re_try
  2119. RELEASE WINDOW busy
  2120. RETURN re_try
  2121. * End procedure REC_BUSY
  2122.  
  2123.  
  2124.  
  2125. *!*****************************************************************************
  2126. *!
  2127. *!      Procedure: TOO_HIGH
  2128. *!
  2129. *!      Called by: FP25EROR.PRG                      
  2130. *!
  2131. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  2132. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2133. *!
  2134. *!*****************************************************************************
  2135. PROCEDURE too_high
  2136. *******************************************************************************
  2137. *& Error #5, "Record is out of range"
  2138. *
  2139. *   This error usually arises from the following conditions:
  2140. *
  2141. *     1.  Attempts to access a record number greater than
  2142. *         the actual number of records in the database.
  2143. *
  2144. *     2.  FoxPro has been installed with the demonstration
  2145. *         key instead of the activation key and the database
  2146. *         contains more records than permitted in the demo.
  2147. *
  2148. *     3.  An index is out of date and no longer matches
  2149. *         the database in use.
  2150. *
  2151. *   Inform user and have them call Application Administrator.
  2152. *
  2153. *   Author: Pat Adams  (718) 469-4032
  2154. *   Date: 8/6//91
  2155. *
  2156. *   Modified 1/4/93 by Pat Adams
  2157. *       Use of color schemes & SYSDATA added
  2158. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2159. DEFINE WINDOW bugbox FROM 2,16 TO 21,64 DOUBLE ;
  2160.     COLOR SCHEME 20 SHADOW
  2161. ACTIVATE SCREEN
  2162. ACTIVATE WINDOW bugbox NOSHOW
  2163. @ 0,12 SAY "    W H O O P S   " COLOR (redblink)
  2164. @ 2, 2 SAY "One of the following problems has occurred:"
  2165. @ 4, 2 SAY "1.  The demo version of this product is in"
  2166. @ 5, 6 SAY "use and an attempt has been made to use"
  2167. @ 6, 6 SAY "a database which contains more records"
  2168. @ 7, 6 SAY "than permitted by the demo."
  2169. @ 9, 2 SAY "2.  One of the indexes is out of date."
  2170. @11,18 SAY "Please call"
  2171. SHOW WINDOW bugbox
  2172. PRIVATE m_call, m_title, m_phone
  2173. STORE SPACE(0) TO m_call, m_title, m_phone
  2174. * ========================================
  2175. *$ Get info on appropriate person to call
  2176. * ========================================
  2177. DO app_admin
  2178. @12, 0 SAY PADC(m.m_call, 46)
  2179. @13, 0 SAY PADC(m.m_title, 46)
  2180. @14, 0 SAY PADC(m.m_phone, 46)
  2181. @15,12 SAY "to report this problem."
  2182. DO razberry
  2183. @17, 1 SAY "Press any key to return " + ;
  2184.     "to Main Menu..." COLOR (lowtext)
  2185. = INKEY(0, "MH")
  2186. CLOSE DATA
  2187. RELEASE WINDOW bugbox
  2188. CLEAR TYPEAHEAD
  2189. RETURN
  2190. * End procedure TOO_HIGH
  2191.  
  2192.  
  2193.  
  2194. *!*****************************************************************************
  2195. *!
  2196. *!      Procedure: INDEX_ER
  2197. *!
  2198. *!      Called by: FP25EROR.PRG                      
  2199. *!
  2200. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  2201. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2202. *!
  2203. *!*****************************************************************************
  2204. PROCEDURE index_er
  2205. *******************************************************************************
  2206. *& Index error messages
  2207. *
  2208. *   Error #19 =   "Index file does not match database"  The
  2209. *                 most likely cause is that index uses fields not
  2210. *                 in the database or relies upon memvars which are
  2211. *                 not initialized.
  2212. *
  2213. *   Error #20 =   "Record is not in index"  Most likely cause is
  2214. *                 that the database structure was changed without
  2215. *                 the index being active.
  2216. *
  2217. *   Error #114 =  "Index does not match database file"  The most
  2218. *                 likely cause is corruption within the index file
  2219. *                 or in the index file header.  Do not REINDEX but,
  2220. *                 rather, recreate index with INDEX ON...TO
  2221. *
  2222. *   Error #1103 - "Illegal seek offset"
  2223. *                 This error is usually received when the index
  2224. *                 being used for a SEEK has become corrupted.
  2225. *
  2226. *   Error #1141 = Unrecognized index file revision.  Recreate index.
  2227. *                 The index file is in a format not compatible with
  2228. *                 the version of FoxPro being used.
  2229. *
  2230. *   Since application is not usable until the index problems
  2231. *   have been corrected the user will be returned to DOS at the
  2232. *   calling level.
  2233. *
  2234. *   Author: Pat Adams  (718) 469-4032
  2235. *   Date: 8/7//91
  2236. *
  2237. *   Modified 1/4/93 by Pat Adams
  2238. *       Error #1141 added.
  2239. *
  2240. *   Modified 1/11/93 by Pat Adams
  2241. *       Use of color schemes & SYSDATA added
  2242. *
  2243. *   Modified 2/12/93 by Pat Adams
  2244. *       Bug fix to correction omission of creation
  2245. *       of memvars to use on whom to call.
  2246. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2247. DEFINE WINDOW bugbox FROM 5,17 TO 20,62 DOUBLE ;
  2248.     COLOR SCHEME 20 SHADOW
  2249. ACTIVATE SCREEN
  2250. ACTIVATE WINDOW bugbox NOSHOW
  2251. @ 0,13 SAY "   BAD NEWS   " COLOR (redblink)
  2252. @ 2, 1 SAY "There is a problem with the index files"
  2253. @ 3, 1 SAY "which means they will need to be recreated."
  2254. @ 4, 1 SAY "You will not be able to use the system"
  2255. @ 5, 1 SAY "until this has been completed."
  2256. @ 7,15 SAY "Please contact"
  2257. PRIVATE m_call, m_title, m_phone
  2258. STORE SPACE(0) TO m_call, m_title, m_phone
  2259. * ========================================
  2260. *$ Get info on appropriate person to call
  2261. * ========================================
  2262. DO app_admin
  2263. SHOW WINDOW bugbox
  2264. @ 8, 0 SAY PADC(m.m_call, 44)
  2265. @ 9, 0 SAY PADC(m.m_title, 44)
  2266. @10, 0 SAY PADC(m.m_phone, 44)
  2267. @11,11 SAY "to report this problem."
  2268. @13, 1 SAY "Press any key to return " + ;
  2269.     "to DOS..." COLOR (lowtext)
  2270. DO razberry
  2271. = INKEY(0, "MH")
  2272. RELEASE WINDOW bugbox
  2273. CLEAR TYPEAHEAD
  2274. RETURN
  2275. * End procedure index_er
  2276.  
  2277.  
  2278.  
  2279. *!*****************************************************************************
  2280. *!
  2281. *!      Procedure: NO_CDX
  2282. *!
  2283. *!      Called by: FP25EROR.PRG                      
  2284. *!
  2285. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  2286. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2287. *!
  2288. *!*****************************************************************************
  2289. PROCEDURE no_cdx
  2290. *******************************************************************************
  2291. *& Structural .CDX file not found - Error #1707
  2292. *
  2293. *   Since application is not usable until the .CDX
  2294. *   is recreated the user will be returned to DOS at the
  2295. *   calling level.
  2296. *
  2297. *   Author: Pat Adams  (718) 469-4032
  2298. *   Date: 8/7//91
  2299. *
  2300. *   Modified 1/4/93 by Pat Adams
  2301. *       Use of color schemes & SYSDATA added
  2302. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2303. DEFINE WINDOW bugbox FROM 5,17 TO 20,62 DOUBLE ;
  2304.     COLOR SCHEME 20 SHADOW
  2305. ACTIVATE SCREEN
  2306. ACTIVATE WINDOW bugbox NOSHOW
  2307. @ 0,13 SAY "   BAD NEWS   " COLOR (redblink)
  2308. @ 2, 1 SAY "The structural index associated with the"
  2309. @ 3, 1 SAY "file you need seems to be missing.  You"
  2310. @ 4, 1 SAY "will not be able to use this system until"
  2311. @ 5, 1 SAY "the problem has been corrected."
  2312. @ 7,15 SAY "Please contact"
  2313. SHOW WINDOW bugbox
  2314. PRIVATE m_call, m_title, m_phone
  2315. STORE SPACE(0) TO m_call, m_title, m_phone
  2316. * ========================================
  2317. *$ Get info on appropriate person to call
  2318. * ========================================
  2319. DO app_admin
  2320. @ 8, 0 SAY PADC(m.m_call, 44)
  2321. @ 9, 0 SAY PADC(m.m_title, 44)
  2322. @10, 0 SAY PADC(m.m_phone, 44)
  2323. @11,11 SAY "to report this problem."
  2324. @13, 1 SAY "Press any key to return to DOS..." COLOR (lowtext)
  2325. DO razberry
  2326. = INKEY(0, "MH")
  2327. RELEASE WINDOW bugbox
  2328. CLEAR TYPEAHEAD
  2329. RETURN
  2330. * End procedure NO_CDX
  2331.  
  2332.  
  2333.  
  2334. *!*****************************************************************************
  2335. *!
  2336. *!      Procedure: READONLY
  2337. *!
  2338. *!      Called by: FP25EROR.PRG                      
  2339. *!
  2340. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  2341. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2342. *!
  2343. *!*****************************************************************************
  2344. PROCEDURE readonly
  2345. *******************************************************************************
  2346. *
  2347. *   This module is called if SYSDATA.DBF shows user
  2348. *   is working in stand-alone mode.
  2349. *
  2350. *&Error #111 -  Attempt was made to write to a read-only file
  2351. *
  2352. *   The most likely cause of this is attempting to
  2353. *   write to a file created as read-only or accessed
  2354. *   as read-only under program control.  User is in-
  2355. *   structed to call the developer because it is probably
  2356. *   a programming error.
  2357. *
  2358. *& #1718 - File is read only
  2359. *     1.  An attempt was made to write to a file whose
  2360. *         attribute is read only.  If the file is located
  2361. *         on a floppy disk the floppy may be write protected.
  2362. *
  2363. *   Author: Pat Adams  (718) 469-4032
  2364. *   Date: 8/7//91
  2365. *
  2366. *   Modified 1/11/93 by Pat Adams
  2367. *       Use of color schemes & SYSDATA added
  2368. *
  2369. *   Modified 3/25/93 by Pat Adams
  2370. *       "WHOOPS" moved to center of window.
  2371. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2372. DEFINE WINDOW bugbox FROM 4,15 TO 19,65 ;
  2373.     COLOR SCHEME 20 SHADOW
  2374. ACTIVATE SCREEN
  2375. ACTIVATE WINDOW bugbox NOSHOW
  2376. @ 0, 0 SAY PADC("   W H O O P S   ", 48) COLOR (redblink)
  2377. @ 2, 1 SAY "There's a slight problem.  An attempt was made"
  2378. @ 3, 1 SAY "to write to a read-only file.  Your input can"
  2379. @ 4, 1 SAY "not be saved."
  2380. @ 6, 1 SAY "If you are putting information on a floppy disk"
  2381. @ 7, 1 SAY "check to make sure the disk is not write pro-"
  2382. @ 8, 1 SAY "tected.  Otherwise call:"
  2383. PRIVATE m_call, m_title, m_phone
  2384. STORE SPACE(0) TO m_call, m_title, m_phone
  2385. * ========================================
  2386. *$ Get info on appropriate person to call
  2387. * ========================================
  2388. DO developer
  2389. @ 9, 0 SAY PADC(m.m_call, 48)
  2390. @10, 0 SAY PADC(m.m_title, 48)
  2391. @11, 0 SAY PADC(m.m_phone,48)
  2392. @13, 1 SAY "Press any key to return to " + ;
  2393.     "Main Menu..." COLOR (lowtext)
  2394. SHOW WINDOW bugbox
  2395. DO razberry
  2396. = INKEY(0, "MH")
  2397. RELEASE WINDOW bugbox
  2398. CLEAR TYPEAHEAD
  2399. RETURN
  2400. * End procedure READONLY
  2401.  
  2402.  
  2403.  
  2404. *!*****************************************************************************
  2405. *!
  2406. *!      Procedure: PROGBUG
  2407. *!
  2408. *!      Called by: FP25EROR.PRG                      
  2409. *!
  2410. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  2411. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2412. *!
  2413. *!*****************************************************************************
  2414. PROCEDURE progbug
  2415. *******************************************************************************
  2416. *& Inform user a programming bug has occurred
  2417. *
  2418. *   Author: Pat Adams  (718) 469-4032
  2419. *   Date: 8/7//91
  2420. *
  2421. *   Modified 1/11/93 by Pat Adams
  2422. *       Use of color schemes & SYSDATA added
  2423. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2424. DEFINE WINDOW bugbox FROM 5,23 TO 19,56 DOUBLE ;
  2425.     COLOR SCHEME 20 SHADOW
  2426. ACTIVATE SCREEN
  2427. ACTIVATE WINDOW bugbox NOSHOW
  2428. @ 0, 7 SAY "   BAD NEWS   " COLOR (redblink)
  2429. @ 2, 1 SAY "An error which is most likely"
  2430. @ 3, 1 SAY "a programming bug has occurred."
  2431. @ 5,10 SAY "Please call:"
  2432. SHOW WINDOW bugbox
  2433. PRIVATE m_call, m_title, m_phone
  2434. STORE SPACE(0) TO m_call, m_title, m_phone
  2435. * ========================================
  2436. *$ Get info on appropriate person to call
  2437. * ========================================
  2438. DO developer
  2439. @ 6, 0 SAY PADC(m.m_call, 32)
  2440. @ 7, 0 SAY PADC(m_title, 32)
  2441. @ 8, 0 SAY PADC(m_phone, 32)
  2442. @ 9, 3 SAY "immediately to report this."
  2443. @11, 1 SAY "Press any key" COLOR (lowtext)
  2444. @12, 1 SAY "to return to Main Menu..." COLOR (lowtext)
  2445. DO razberry
  2446. = INKEY(0, "MH")
  2447. RELEASE WINDOW bugbox
  2448. CLEAR TYPEAHEAD
  2449. RETURN
  2450. * End procedure PROGBUG
  2451.  
  2452.  
  2453. *!*****************************************************************************
  2454. *!
  2455. *!      Procedure: NOCREAT
  2456. *!
  2457. *!      Called by: FP25EROR.PRG                      
  2458. *!
  2459. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  2460. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2461. *!
  2462. *!*****************************************************************************
  2463. PROCEDURE nocreat
  2464. *******************************************************************************
  2465. *& Can not create file
  2466. *
  2467. *   Error #1102 = "Cannot create a [new] file"
  2468. *
  2469. *   Error #102 = "Cannot create file" <file>
  2470. *                 Memvar XMISSING provides file name
  2471. *
  2472. *   Error #1157 = "Cannot update file"
  2473. *
  2474. *   Error #1160 - Not enough disk space for file <file name>.
  2475. *
  2476. *&  Error #1410 - Unable to create temporary work file(s)
  2477. *                 (i.e., files required for SORT, INDEX,
  2478. *                 REINDEX or PACK
  2479. *
  2480. *   The situation is usually caused by one of the following:
  2481. *
  2482. *   1.  Insufficient disk space or, on a LAN, insufficient
  2483. *       directory space
  2484. *
  2485. *   2.  Attempted use of an invalid file name, including use
  2486. *       of a file name which already exists
  2487. *
  2488. *   3.  User does not have the correct LAN authorization to
  2489. *       create a file
  2490. *
  2491. *   4.  A hardware error has caused an inability to write to
  2492. *       the hard disk.
  2493. *
  2494. *   Because of the circumstances which may have created the
  2495. *   error condition error information output will be sent to
  2496. *   the printer and the user returned to DOS upon return to
  2497. *   the calling module.
  2498. *
  2499. *   Author: Pat Adams  (718) 469-4032
  2500. *   Date: 8/8//91
  2501. *
  2502. *   Modified 1/4/93 by Pat Adams
  2503. *       Use of color schemes & SYSDATA added
  2504. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2505. DEFINE WINDOW bugbox FROM  3,4 TO 20,75 DOUBLE ;
  2506.     COLOR SCHEME 20 SHADOW
  2507. ACTIVATE SCREEN
  2508. ACTIVATE WINDOW bugbox NOSHOW
  2509. @ 0,26 SAY "   BAD NEWS   " COLOR (redblink)
  2510. @ 2, 3 SAY "It's not possible to create a file which " + ;
  2511.     "is needed at this point."
  2512. @ 3, 3 SAY "This may be due to several problems, " + ;
  2513.     "one of which is insufficient"
  2514. @ 4, 3 SAY "disk space.  Because disk space may not " + ;
  2515.     "be available error infor-"
  2516. @ 5, 3 SAY "mation will be sent to the printer."
  2517. PRIVATE m_call, m_title, m_phone
  2518. STORE SPACE(0) TO m_call, m_title, m_phone
  2519. * ========================================
  2520. *$ Get info on appropriate person to call
  2521. * ========================================
  2522. DO lan_admin
  2523. @ 7,28 SAY "Please contact"
  2524. @ 8, 0 SAY PADC(m.m_call, 70)
  2525. @ 9, 0 SAY PADC(m.m_title, 70)
  2526. @10, 0 SAY PADC(m.m_phone, 70)
  2527. @11, 6 SAY "to report this problem and provide " + ;
  2528.     "a copy of the printout."
  2529. @13, 1 SAY "Make sure your printer is turned on " + ;
  2530.     "and on-line and then press any"
  2531. @14, 1 SAY "key to begin printing the error " + ;
  2532.     "information.  You will be returned"
  2533. @15, 1 SAY "to DOS once the printing has " + ;
  2534.     "been completed."
  2535. SHOW WINDOW bugbox
  2536. DO razberry
  2537. = INKEY(0, "MH")
  2538. CLOSE DATA
  2539. RELEASE WINDOW bugbox
  2540. CLEAR TYPEAHEAD
  2541. RETURN
  2542. * End procedure NOCREAT
  2543.  
  2544.  
  2545. *!*****************************************************************************
  2546. *!
  2547. *!      Procedure: TO_PRN
  2548. *!
  2549. *!      Called by: FP25EROR.PRG                      
  2550. *!
  2551. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  2552. *!               : YES_NO             (procedure in FP25EROR.PRG)
  2553. *!
  2554. *!*****************************************************************************
  2555. PROCEDURE to_prn
  2556. *******************************************************************************
  2557. *& Send error info to printer
  2558. *
  2559. *   Author: Pat Adams  (718) 469-4032
  2560. *   Date: 8/8//91
  2561. *
  2562. *   Modified by Pat Adams 10/1/92
  2563. *       Status of printer checked before
  2564. *       attempting to print
  2565. *
  2566. *   Modified 1/3/93 by Pat Adams
  2567. *       Use of color schemes added
  2568. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2569. PRIVATE prnstatus
  2570. STORE .T. TO prnstatus
  2571.  
  2572. DO WHILE SYS(13) # "READY"
  2573.     STORE .F. TO prnstatus
  2574.     DO razberry
  2575.     DEFINE WINDOW noprn FROM 5,18 TO 16,62 DOUBLE;
  2576.         COLOR SCHEME 20 SHADOW
  2577.     ACTIVATE SCREEN
  2578.     ACTIVATE WINDOW noprn NOSHOW
  2579.     @ 0,11 SAY "   W H O O P S   " COLOR (redblink)
  2580.     @ 2, 3 SAY "Your printer is not ready so we can't"
  2581.     @ 3, 3 SAY "print out the necessary information."
  2582.     @ 5, 1 SAY "I'll wait while you check to see if your"
  2583.     @ 6, 1 SAY "printer is plugged in, is on-line, there"
  2584.     @ 7, 1 SAY "is paper or paper jams have been cleared."
  2585.     @ 9, 1 SAY "DO YOU WANT TO TRY TO PRINT " + ;
  2586.         "AGAIN? (Y/N)" COLOR *N/W
  2587.     SHOW WINDOW noprn
  2588.     DO yes_no WITH prnstatus
  2589.     RELEASE WINDOW noprn
  2590.     
  2591.     IF ! prnstatus OR SYS(13) = "READY"
  2592.         EXIT
  2593.     ENDIF (! prnstatus OR SYS(13) = "READY")
  2594. ENDDO (SYS(13) # "READY")
  2595.  
  2596. IF prnstatus OR SYS(13) = "READY"
  2597.     SET CONSOLE OFF
  2598.     LIST STATUS TO PRINT
  2599.     LIST MEMORY TO PRINT
  2600.     SET CONSOLE ON
  2601. ENDIF (prnstatus OR SYS(13) = "READY")
  2602.  
  2603. RETURN
  2604. * End procedure TO_PRN
  2605.  
  2606.  
  2607. *!*****************************************************************************
  2608. *!
  2609. *!      Procedure: BADRIGHTS
  2610. *!
  2611. *!      Called by: FP25EROR.PRG                      
  2612. *!
  2613. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  2614. *!
  2615. *!*****************************************************************************
  2616. PROCEDURE badrights
  2617. *******************************************************************************
  2618. *& Cannot open file - Error # 1101 and error #101
  2619. *
  2620. *   Assuming the name of the file has been spelled correctly and
  2621. *   the correct subdirectory has been stated, if necessary, the
  2622. *   most likely cause of this error is the user not having
  2623. *   the appropriate LAN rights.
  2624. *
  2625. *   In spite of what the FoxPro manuals may lead you to believe,
  2626. *   if the named file does not exist or if an invalid file name
  2627. *   or subdirectory has been used, Error #1 is returned, not
  2628. *   Error #1101.
  2629. *
  2630. *   User is sent to DOS after being returned to calling module.
  2631. *   Assumption is that if user does not have rights to open this
  2632. *   file user will also not have rights to open other files on
  2633. *   the LAN, therefore, no attempt is made (at the calling level)
  2634. *   to save error info to disk.  Using the same assumption, it
  2635. *   will not be possible to open the SYSDATA file to obtain info
  2636. *   on the person who should be called.
  2637. *
  2638. *   Author: Pat Adams  (718) 469-4032
  2639. *   Date: 8/8//91
  2640. *
  2641. *   Modified 1/4/93 by Pat Adams
  2642. *       Use of color schemes & SYSDATA added
  2643. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2644. DEFINE WINDOW bugbox FROM  5,23 TO 15,57 DOUBLE ;
  2645.     COLOR SCHEME 20 SHADOW
  2646. ACTIVATE SCREEN
  2647. ACTIVATE WINDOW bugbox NOSHOW
  2648. @ 0, 7 SAY "   S O R R Y  " COLOR (redblink)
  2649. @ 2, 1 SAY "It appears you do not have the"
  2650. @ 3, 1 SAY "correct user rights on the LAN."
  2651. @ 5, 1 SAY "Please contact your LAN Admin-"
  2652. @ 6, 1 SAY "istrator to report this problem."
  2653. @ 8, 1 SAY "Press any key to quit to DOS..." COLOR (lowtext)
  2654. SHOW WINDOW bugbox
  2655. DO razberry
  2656. = INKEY(0, "MH")
  2657. RELEASE WINDOW bugbox
  2658. CLEAR TYPEAHEAD
  2659. RETURN
  2660. * End procedure BADRIGHTS
  2661.  
  2662.  
  2663.  
  2664. *!*****************************************************************************
  2665. *!
  2666. *!      Procedure: REALBAD
  2667. *!
  2668. *!      Called by: FP25EROR.PRG                      
  2669. *!
  2670. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  2671. *!               : A_LERT             (procedure in FP25EROR.PRG)
  2672. *!
  2673. *!*****************************************************************************
  2674. PROCEDURE realbad
  2675. *******************************************************************************
  2676. *& Database is trashed
  2677. *
  2678. *   Error #15 - Not a database file
  2679. *
  2680. *   This can be caused by a bad .DBF file header.
  2681. *   Error #15 can also occur is attempting to use a non-
  2682. *   .DBF file as a .DBF file.
  2683. *
  2684. *   Error # 1111 - Invalid file descriptor.
  2685. *                  FoxPro was unable to open file.
  2686. *
  2687. *   Author: Pat Adams  (718) 469-4032
  2688. *   Date: 8/9/91
  2689. *
  2690. *   Modified 1/4/93 by Pat Adams
  2691. *       Use of color schemes & SYSDATA added
  2692. *
  2693. *   Modified 1/13/93 by Pat Adams
  2694. *       Error # 1111 added
  2695. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2696. DEFINE WINDOW bugbox FROM 5,22 TO 18,58 DOUBLE ;
  2697.     COLOR SCHEME 20 SHADOW
  2698. ACTIVATE SCREEN
  2699. ACTIVATE WINDOW bugbox NOSHOW
  2700. @ 0, 6 SAY "  REALLY BAD NEWS  " COLOR (redblink)
  2701. @ 2, 1 SAY "A database file has been trashed!"
  2702. @ 4,10 SAY "Please contact"
  2703. SHOW WINDOW bugbox
  2704. PRIVATE m_call, m_title, m_phone
  2705. STORE SPACE(0) TO m_call, m_title, m_phone
  2706. * ========================================
  2707. *$ Get info on appropriate person to call
  2708. * ========================================
  2709. DO app_admin
  2710. @ 5, 0 SAY PADC(m.m_call, 35)
  2711. @ 6, 0 SAY PADC(m.m_title, 35)
  2712. @ 7, 0 SAY PADC(m.m_phone, 35)
  2713. @ 8, 6 SAY "to report this problem."
  2714. @10, 1 SAY "Press any key to" COLOR (lowtext)
  2715. @11, 1 SAY "return to Main Menu..." COLOR (lowtext)
  2716. DO a_lert && SOUND siren
  2717. = INKEY(0, "MH")
  2718. RELEASE WINDOW bugbox
  2719. CLEAR TYPEAHEAD
  2720. RETURN
  2721. * End procedure REALBAD
  2722.  
  2723.  
  2724.  
  2725. *!*****************************************************************************
  2726. *!
  2727. *!      Procedure: A_LERT
  2728. *!
  2729. *!      Called by: REALBAD            (procedure in FP25EROR.PRG)
  2730. *!
  2731. *!*****************************************************************************
  2732. PROCEDURE a_lert
  2733. *******************************************************************************
  2734. *& Sound loud, long warning siren
  2735. *
  2736. *   Author: Pat Adams  (718) 469-4032
  2737. *   Date: 8/9/91
  2738. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2739. FOR xx = 1 TO 3
  2740.     SET BELL TO 1650-(18*xx), 3
  2741.     ?? CHR(7)
  2742.     SET BELL TO 650-(5*xx),3
  2743.     ?? CHR(7)
  2744. ENDFOR (xx)
  2745.  
  2746. SET BELL TO
  2747. RETURN
  2748. * End procedure a_lert
  2749.  
  2750.  
  2751. *!*****************************************************************************
  2752. *!
  2753. *!      Procedure: KORRUPT
  2754. *!
  2755. *!      Called by: FP25EROR.PRG                      
  2756. *!
  2757. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  2758. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2759. *!
  2760. *!*****************************************************************************
  2761. PROCEDURE korrupt
  2762. *******************************************************************************
  2763. *& Corrupted object file
  2764. *
  2765. *   Error #67 - Internal consistency error
  2766. *
  2767. *   Error #1309 - Not an object file
  2768. *
  2769. *   Compiled object file has been corrupted - Recompile
  2770. *
  2771. *   Author: Pat Adams  (718) 469-4032
  2772. *   Date: 8/9/91
  2773. *
  2774. *   Modified 1/9/93 by Pat Adams
  2775. *       Use of color schemes & SYSDATA added
  2776. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2777. DEFINE WINDOW bugbox FROM 5,22 TO 18,58 DOUBLE ;
  2778.     COLOR SCHEME 20 SHADOW
  2779. ACTIVATE SCREEN
  2780. ACTIVATE WINDOW bugbox NOSHOW
  2781. @ 0, 9 SAY "  BAD NEWS  " COLOR (redblink)
  2782. @ 2, 1 SAY "An object file has been corrupted."
  2783. @ 4,10 SAY "Please contact"
  2784. SHOW WINDOW bugbox
  2785. PRIVATE m_call, m_title, m_phone
  2786. STORE SPACE(0) TO m_call, m_title, m_phone
  2787. * ========================================
  2788. *$ Get info on appropriate person to call
  2789. * ========================================
  2790. DO app_admin
  2791. @ 5, 0 SAY PADC(m.m_call, 35)
  2792. @ 6, 0 SAY PADC(m.m_title, 35)
  2793. @ 7, 0 SAY PADC(m.m_phone, 35)
  2794. @ 8, 6 SAY "to report this problem."
  2795. DO razberry
  2796. @10, 1 SAY "Press any key to" COLOR (lowtext)
  2797. @11, 1 SAY "return to Main Menu..." COLOR (lowtext)
  2798. = INKEY(0, "MH")
  2799. RELEASE WINDOW bugbox
  2800. CLEAR TYPEAHEAD
  2801. RETURN
  2802. * End procedure KORRUPT
  2803.  
  2804.  
  2805. *!*****************************************************************************
  2806. *!
  2807. *!      Procedure: READ_ERR
  2808. *!
  2809. *!      Called by: FP25EROR.PRG                      
  2810. *!
  2811. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  2812. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2813. *!               : YES_NO             (procedure in FP25EROR.PRG)
  2814. *!
  2815. *!           Uses: SYSDATA.DBF        
  2816. *!
  2817. *!*****************************************************************************
  2818. PROCEDURE read_err
  2819. *******************************************************************************
  2820. *  Error #1104 - File read error
  2821. *
  2822. *  The operating system returned an error to FoxPro
  2823. *  while FoxPro was attempting to read a file.  It could
  2824. *  just be a "hiccup" or there could be problems with the
  2825. *  disk, controller or LAN connection.  Provide user with
  2826. *  option to retry
  2827. *
  2828. *   Author: Pat Adams, DB Unlimited
  2829. *   Date: 8/9/91
  2830. *
  2831. *   Modified 1/7/93 by Pat Adams
  2832. *       Use of color schemes & SYSDATA added
  2833. *       Routine also updated to differentiate
  2834. *       between multi-user and stand-alone environment.
  2835. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2836. PARAMETERS rretry
  2837. PRIVATE m_call, m_title, m_phone
  2838. STORE SPACE(0) TO m_call, m_title, m_phone
  2839.  
  2840. IF ! USED("SYSDATA")
  2841.     SELECT 0
  2842.     USE sysdata NOUPDATE
  2843. ELSE
  2844.     SELECT sysdata
  2845. ENDIF (! USED("SYSDATA"))
  2846.  
  2847. IF sysdata.multi_user
  2848.     * ====================================
  2849.     *$ Tell user to call LAN administrator
  2850.     *  if working in a multi-user environment
  2851.     * ====================================
  2852.     DEFINE WINDOW bugbox FROM 3,14 TO 20,66 DOUBLE ;
  2853.         COLOR SCHEME 20 SHADOW
  2854.     ACTIVATE SCREEN
  2855.     ACTIVATE WINDOW bugbox NOSHOW
  2856.     @ 0,16 SAY "   BAD NEWS   " COLOR (redblink)
  2857.     @ 2, 1 SAY "Your hardware and/or operating system returned an"
  2858.     @ 3, 1 SAY "error while attempting to read a file.  It may be"
  2859.     @ 4, 1 SAY "that this was just a minor 'hiccup' or you may be"
  2860.     @ 5, 1 SAY "experiencing serious hardware problems."
  2861.     @ 7, 1 SAY "If this is the first time you have received this"
  2862.     @ 8, 1 SAY "error message try things again.  If not, your"
  2863.     @ 9, 1 SAY "hard disk, controller and LAN connections should"
  2864.     @10, 1 SAY "be checked - report the problem to:"
  2865.     SHOW WINDOW bugbox
  2866.     * ========================================
  2867.     *$ Get info on appropriate person to call
  2868.     * ========================================
  2869.     DO lan_admin
  2870.     @11, 0 SAY PADC(m.m_call, 51)
  2871.     @12, 0 SAY PADC(m.m_title, 51)
  2872.     @13, 0 SAY PADC(m.m_phone, 51)
  2873.     @15, 9 SAY "Do you want to try again?   (Y/N)"
  2874. ELSE
  2875.     * ============================================
  2876.     *$ Otherwise simply advise user of the problem
  2877.     * ============================================
  2878.     DEFINE WINDOW bugbox FROM 5,14 TO 19,66 DOUBLE ;
  2879.         COLOR SCHEME 20 SHADOW
  2880.     ACTIVATE SCREEN
  2881.     ACTIVATE WINDOW bugbox NOSHOW
  2882.     @ 0,16 SAY "   BAD NEWS   " COLOR (redblink)
  2883.     @ 2, 1 SAY "Your hardware and/or " + ;
  2884.         "operating system returned an"
  2885.     @ 3, 1 SAY "error while attempting " + ;
  2886.         "to read a file.  It may be"
  2887.     @ 4, 1 SAY "that this is just a minor 'hiccup' " + ;
  2888.         "or you may be"
  2889.     @ 5, 1 SAY "experiencing serious " + ;
  2890.         "hardware problems."
  2891.     @ 7, 1 SAY "If this is the first time " + ;
  2892.         "you have received this"
  2893.     @ 8, 1 SAY "message, try things again.  " + ;
  2894.         "However, if this"
  2895.     @ 9, 1 SAY "message continually " + ;
  2896.         "reappears your hard disk and"
  2897.     @10, 1 SAY "controller should be checked."
  2898.     @12,12 SAY "DO YOU WANT TO RETRY? (Y/N)"
  2899.     SHOW WINDOW bugbox
  2900. ENDIF (sysdata.multi_user)
  2901.  
  2902. DO razberry
  2903. DO yes_no WITH rretry
  2904. RELEASE WINDOW bugbox
  2905. RETURN rretry
  2906. * End procedure READ_ERR
  2907.  
  2908.  
  2909.  
  2910. *!*****************************************************************************
  2911. *!
  2912. *!      Procedure: RITE_ERR
  2913. *!
  2914. *!      Called by: FP25EROR.PRG                      
  2915. *!
  2916. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  2917. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2918. *!               : YES_NO             (procedure in FP25EROR.PRG)
  2919. *!
  2920. *!*****************************************************************************
  2921. PROCEDURE rite_err
  2922. *******************************************************************************
  2923. *& File write error - Error #1105
  2924. *
  2925. *   The most likely causes of this error are:
  2926. *
  2927. *   1.  An attempt to write to a floppy which is
  2928. *       write protected or a LAN subdirectory to
  2929. *       which the user does not have correct rights
  2930. *
  2931. *   2.  A problem with the operating system, hard disk,
  2932. *       controller, or LAN connections
  2933. *
  2934. *   3.  TMPFILES are directed to the local work node's
  2935. *       hard disk and there are errors writing these
  2936. *       files.  Often caused by loose clusters.  Run
  2937. *       CHKDSK /F to test & resolve.
  2938. *
  2939. *   User is provided with option to retry
  2940. *
  2941. *   Author: Pat Adams, DB Unlimited
  2942. *   Date: 8/9/91
  2943. *
  2944. *   Modified 1/11/93 by Pat Adams
  2945. *       Use of color schemes & SYSDATA added
  2946. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2947. PARAMETERS re_try
  2948. DEFINE WINDOW bugbox FROM  3,4 TO 20,76 DOUBLE ;
  2949.     COLOR SCHEME 20 SHADOW
  2950. ACTIVATE SCREEN
  2951. ACTIVATE WINDOW bugbox NOSHOW
  2952. @ 0,26 SAY "   BAD NEWS   " COLOR (redblink)
  2953. @ 2, 1 SAY "A problem has occurred while attempting " + ;
  2954.     "to write information to disk."
  2955. @ 3, 1 SAY "If you are attempting to write " + ;
  2956.     "to a floppy disk it may be that the"
  2957. @ 4, 1 SAY "disk is write protected.  If so, " + ;
  2958.     "unprotect the disk and try again."
  2959. @ 6, 1 SAY "If not, a 'hiccup' in the operating " + ;
  2960.     "system may have occurred.  You"
  2961. @ 7, 1 SAY "can simply try again.  However, if " + ;
  2962.     "this message continues to appear"
  2963. @ 8, 1 SAY "it may be that there is a problem " + ;
  2964.     "with the hard disk, controller,"
  2965. @ 9, 1 SAY "LAN connections or your LAN " + ;
  2966.     "authorization rights.  Please contact:"
  2967. SHOW WINDOW bugbox
  2968. PRIVATE m_call, m_title, m_phone
  2969. STORE SPACE(0) TO m_call, m_title, m_phone
  2970. * ========================================
  2971. *$ Get info on appropriate person to call
  2972. * ========================================
  2973. DO lan_admin
  2974. @10, 0 SAY PADC(m.m_call, 71)
  2975. @11, 0 SAY PADC(m.m_title, 71)
  2976. @12, 0 SAY PADC(m.m_phone, 71)
  2977. @13, 1 SAY "to report this problem."
  2978. DO razberry
  2979. @15,20 SAY "Do you want to try again? (Y/N)"
  2980. DO yes_no WITH re_try
  2981. RELEASE WINDOW bugbox
  2982. RETURN re_try
  2983. * End procedure RITE_ERR
  2984.  
  2985.  
  2986. *!*****************************************************************************
  2987. *!
  2988. *!      Procedure: INVALPRN
  2989. *!
  2990. *!      Called by: FP25EROR.PRG                      
  2991. *!
  2992. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  2993. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  2994. *!
  2995. *!*****************************************************************************
  2996. PROCEDURE invalprn
  2997. *******************************************************************************
  2998. *   Error #124 - Invalid printer redirection
  2999. *
  3000. *  This normally occurs when attempts are made to share a non-
  3001. *  sharable printer on a LAN or the path to the print device
  3002. *  has not been properly defined.
  3003. *
  3004. *  User will be returned to MASTER module.
  3005. *
  3006. *     Author: Pat Adams, DB Unlimited
  3007. *     Date: 8/9/91
  3008. *
  3009. *   Modified 1/7/93 by Pat Adams
  3010. *       Use of color schemes & SYSDATA added
  3011. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3012. DEFINE WINDOW bugbox FROM 3,17 TO 21,62 DOUBLE ;
  3013.     COLOR SCHEME 20 SHADOW
  3014. ACTIVATE SCREEN
  3015. ACTIVATE WINDOW bugbox NOSHOW
  3016. @ 0,12 SAY "   W H O O P S   " COLOR (redblink)
  3017. @ 2, 1 SAY "An attempt was made to use an unavailable"
  3018. @ 3, 1 SAY "print device.  Either the printer you want"
  3019. @ 4, 1 SAY "is not sharable or the correct DOS PATH"
  3020. @ 5, 1 SAY "setting has not been made.  This latter"
  3021. @ 6, 1 SAY "problem can only be fixed by returning to"
  3022. @ 7, 1 SAY "DOS, correcting matters there and then"
  3023. @ 8, 1 SAY "entering this application again."
  3024. @10,15 SAY "Please contact"
  3025. SHOW WINDOW bugbox
  3026. PRIVATE m_call, m_title, m_phone
  3027. STORE SPACE(0) TO m_call, m_title, m_phone
  3028. * ========================================
  3029. *$ Get info on appropriate person to call
  3030. * ========================================
  3031. DO lan_admin
  3032. @11, 0 SAY PADC(m.m_call, 43)
  3033. @12, 0 SAY PADC(m.m_title, 43)
  3034. @13, 0 SAY PADC(m.m_phone, 43)
  3035. @14,11 SAY "to report this problem."
  3036. @16, 1 SAY "Press any key to return to " + ;
  3037.     "Main Menu..." COLOR (lowtext)
  3038. DO razberry
  3039. = INKEY(0, "MH")
  3040. RELEASE WINDOW bugbox
  3041. CLEAR TYPEAHEAD
  3042. RETURN
  3043. * End procedure INVALPRN
  3044.  
  3045.  
  3046.  
  3047. *!*****************************************************************************
  3048. *!
  3049. *!      Procedure: NOTREADY
  3050. *!
  3051. *!      Called by: FP25EROR.PRG                      
  3052. *!
  3053. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  3054. *!               : YES_NO             (procedure in FP25EROR.PRG)
  3055. *!
  3056. *!*****************************************************************************
  3057. PROCEDURE notready
  3058. *******************************************************************************
  3059. * Error #125 - Printer not ready
  3060. *
  3061. *   This error is triggered by a variety of problems:
  3062. *
  3063. *   1.  The printer is not turned on or plugged in.
  3064. *
  3065. *   2.  Printer is not on-line
  3066. *
  3067. *   3.  Printer out of paper or a paper jam has occurred
  3068. *
  3069. *   4.  The printer is timing out.  Changing the CONFIG.FP file
  3070. *       to include the statement:
  3071. *
  3072. *           TIME=10000000
  3073. *
  3074. *       and issuing a DOS command:
  3075. *
  3076. *           MODE LPT1,,p
  3077. *
  3078. *       to set up DOS for infinite retry of the printer will
  3079. *       usually help.
  3080. *
  3081. *   5.  The connection between the computer and the printer may
  3082. *       not be solid or the printer cable may be squashed.
  3083. *
  3084. *   Note that this error will occur infrequently, if at all, on a
  3085. *   LAN because output will normally be sent to a print spooler.
  3086. *
  3087. *   User is provided the option to try again for the printer or
  3088. *   Abort to the MASTER module.
  3089. *
  3090. *   Author: Pat Adams  (718) 469-4032
  3091. *   Date: 8/13/91
  3092. *
  3093. *   Modified 1/9/93 by Pat Adams
  3094. *       Use of color schemes & SYSDATA added
  3095. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3096. PARAMETERS re_try
  3097. DEFINE WINDOW bugbox FROM 5,9 TO 18,71 DOUBLE ;
  3098.     COLOR SCHEME 20 SHADOW
  3099. ACTIVATE SCREEN
  3100. ACTIVATE WINDOW bugbox
  3101. @ 0,20 SAY "   W H O O P S   " COLOR (redblink)
  3102. @ 2, 1 SAY "There is a problem with your printer.  Check the following:"
  3103. @ 4, 1 SAY "1.  Is the printer turned on?"
  3104. @ 6, 1 SAY "2.  Is the printer on-line? (A green light on the printer"
  3105. @ 7, 5 SAY "usually indicates the printer is on-line.)"
  3106. @ 9, 1 SAY "3.  Is the printer out of paper or is there a paper jam?"
  3107. @11, 2 SAY "WOULD YOU LIKE TO TRY FOR USE OF THE PRINTER AGAIN?  (Y/N)"
  3108. * ====================
  3109. *$ Sound Bronx cheer
  3110. * ====================
  3111. DO razberry
  3112. DO yes_no WITH re_try
  3113. RELEASE WINDOW bugbox
  3114. RETURN re_try
  3115. * End procedure NOTREADY
  3116.  
  3117.  
  3118.  
  3119. *!*****************************************************************************
  3120. *!
  3121. *!      Procedure: PKORRUPT
  3122. *!
  3123. *!      Called by: FP25EROR.PRG                      
  3124. *!
  3125. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3126. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3127. *!
  3128. *!*****************************************************************************
  3129. PROCEDURE pkorrupt
  3130. *******************************************************************************
  3131. *& Error #1643 - Printer driver corrupted
  3132. ** Error #1644 - Printer driver is missing
  3133. *
  3134. *   Author: Pat Adams  (718) 469-4032
  3135. *   Date: 8/13/91
  3136. *
  3137. *   Modified 1/8/93 by Pat Adams
  3138. *       Use of color schemes & SYSDATA added
  3139. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3140. DEFINE WINDOW bugbox FROM 5,14 TO 18,66 DOUBLE ;
  3141.     COLOR SCHEME 20 SHADOW
  3142. ACTIVATE SCREEN
  3143. ACTIVATE WINDOW bugbox
  3144. @ 0,17 SAY "  BAD NEWS  " COLOR (redblink)
  3145. @ 2, 1 SAY "Your printer driver has been corrupted.  Printing"
  3146. @ 3, 1 SAY "can not be done until this is corrected."
  3147. @ 5,18 SAY "Please contact"
  3148. SHOW WINDOW bugbox
  3149. PRIVATE m_call, m_title, m_phone
  3150. STORE SPACE(0) TO m_call, m_title, m_phone
  3151. * ========================================
  3152. *$ Get info on appropriate person to call
  3153. * ========================================
  3154. DO app_admin
  3155. @ 6, 0 SAY PADC(m.m_call, 50)
  3156. @ 7, 0 SAY PADC(m.m_title, 50)
  3157. @ 8, 0 SAY PADC(m.m_phone, 50)
  3158. @ 9,15 SAY "to report this problem."
  3159. @11, 1 SAY "Press any key to return " + ;
  3160.     "to Main Menu..." COLOR (lowtext)
  3161. DO razberry
  3162. = INKEY(0, "MH")
  3163. RELEASE WINDOW bugbox
  3164. CLEAR TYPEAHEAD
  3165. RETURN
  3166. * End procedure PKORRUPT
  3167.  
  3168.  
  3169. *!*****************************************************************************
  3170. *!
  3171. *!      Procedure: LOWFILES
  3172. *!
  3173. *!      Called by: FP25EROR.PRG                      
  3174. *!
  3175. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  3176. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3177. *!
  3178. *!*****************************************************************************
  3179. PROCEDURE lowfiles
  3180. *******************************************************************************
  3181. *$ Error #6 - Too many files open
  3182. *
  3183. *   FoxPro 2.5 supports 99 open file handles in FoxPro.  A FILES=
  3184. *   statement in the FoxPro CONFIG.FP file is not necessary and, if
  3185. *   present will be ignored.  However, the following conditions
  3186. *   must be present on the computer, work node and file server:
  3187. *
  3188. *   1.  CONFIG.SYS must include the FILES= statement.  Although
  3189. *       different vendor editions of different versions of DOS
  3190. *       support a different FILES= maximum, in general DOS 3.3
  3191. *       and above supports a maximum of 250 file handles.  Usually
  3192. *       a CONFIG.SYS statement of FILES=99 is sufficient.
  3193. *
  3194. *   2.  Depending upon the LAN OS in use, the work node may need
  3195. *       a specific file handles statement for the LAN OS.  DOS
  3196. *       based LANs such as InvisibleNET and LANtastic use the DOS
  3197. *       CONFIG.SYS statement while LANs such as Novell require the
  3198. *       SHELL.CFG or NET.CFG file on each work station with a
  3199. *       FILE HANDLES=xxxx statement.  Otherwise Novell will default
  3200. *       to 40 file handles no matter what the CONFIG.SYS setting.
  3201. *       If both a NET.CFG and SHELL.CFG are present on the work node
  3202. *       the NET.CFG file settings take precedence.
  3203. *
  3204. *   3.  Novell LANs also require that the FILE HANDLES setting for
  3205. *       the SERVER be adjusted upwards.  Otherwise the default will
  3206. *       be 40 file handles and this will take precedence over any
  3207. *       settings on the work node.
  3208. *
  3209. *   4.  LANtastic needs a FILES= setting on the server that will
  3210. *       provide for sufficient file handles for all files opened
  3211. *       by the work nodes on the server as well as those opened
  3212. *       by the server in work node mode.
  3213. *
  3214. *   Author: Pat Adams  (718) 469-4032
  3215. *   Date: 8/13/91
  3216. *
  3217. *   Modified 1/4/93 by Pat Adams
  3218. *       Use of color schemes & SYSDATA added
  3219. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3220. PRIVATE m_call, m_title, m_phone
  3221. STORE SPACE(0) TO m_call, m_title, m_phone
  3222. DEFINE WINDOW bugbox FROM 1,12 TO 22,68 DOUBLE ;
  3223.     COLOR SCHEME 20 SHADOW
  3224. ACTIVATE SCREEN
  3225. CLOSE DATA
  3226. ACTIVATE WINDOW bugbox NOSHOW
  3227. @ 0,19 SAY "  BAD NEWS  " COLOR (redblink)
  3228. @ 2, 9 SAY "You don't have enough 'file handles!'"
  3229. @ 4, 1 SAY "1.  Increase the FILES= statement in your CONFIG.SYS."
  3230. @ 6, 1 SAY "2.  If working on a Novell LAN increase the FILE"
  3231. @ 7, 5 SAY "HANDLES= statement in the SHELL.CFG file."
  3232. * =============================================
  3233. * NOTE: This message should be modified for
  3234. *       those working with a stand-alone system
  3235. * =============================================
  3236. @ 9, 1 SAY "3.  If you are attached to a Novell LAN the FILE"
  3237. @10, 5 SAY "HANDLES= statement on the LAN server may also"
  3238. @11, 5 SAY "need to be increased."
  3239. @13,19 SAY "Please contact"
  3240. SHOW WINDOW bugbox
  3241. * ========================================
  3242. *$ Get info on appropriate person to call
  3243. * ========================================
  3244. DO lan_admin
  3245. @14, 0 SAY PADC(m.m_call, 55)
  3246. @15, 0 SAY PADC(m.m_title, 55)
  3247. @16, 0 SAY PADC(m.m_phone, 55)
  3248. @17,16 SAY "to report this problem."
  3249. @19, 1 SAY "Press any key to return " + ;
  3250.     "to Main Menu..." COLOR (lowtext)
  3251. DO razberry
  3252. = INKEY(0, "MH")
  3253. RELEASE WINDOW bugbox
  3254. CLEAR TYPEAHEAD
  3255. RETURN
  3256. * End procedure LOWFILES
  3257.  
  3258.  
  3259. *!*****************************************************************************
  3260. *!
  3261. *!      Procedure: NOMEMO
  3262. *!
  3263. *!      Called by: FP25EROR.PRG                      
  3264. *!
  3265. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3266. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3267. *!
  3268. *!*****************************************************************************
  3269. PROCEDURE nomemo
  3270. *******************************************************************************
  3271. *& Error #41 - MEMO file is missing/invalid
  3272. *
  3273. *   The most likely cause of this error is an attempt to
  3274. *   USE a database file whose associated memo file (either
  3275. *   .DBT or .FPT) has been erased.
  3276. *
  3277. *   Other possible causes include a trashed .DBT or .FPT file
  3278. *   or a .DBT/.FPT file which does not match the .DBF file.
  3279. *
  3280. *   User is returned to the MASTER module.  Depending upon the
  3281. *   application, it may be desirable to change this so the user
  3282. *   is returned to DOS.
  3283. *
  3284. *   Author: Pat Adams  (718) 469-4032
  3285. *   Date: 8/14/91
  3286. *
  3287. *   Modified 1/5/93 by Pat Adams
  3288. *       Use of color schemes & SYSDATA added
  3289. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3290. DEFINE WINDOW bugbox FROM 3,16 TO 19,63 DOUBLE ;
  3291.     COLOR SCHEME 20 SHADOW
  3292. ACTIVATE SCREEN
  3293. ACTIVATE WINDOW bugbox NOSHOW
  3294. @ 0,15 SAY "  BAD NEWS  " COLOR (redblink)
  3295. @ 2, 1 SAY "A 'memo field' file which contains free form"
  3296. @ 3, 1 SAY "text has been erased or does not properly"
  3297. @ 4, 1 SAY "match its corresponding database file.  It's"
  3298. @ 5, 1 SAY "not possible to continue until this has been"
  3299. @ 6, 1 SAY "corrected."
  3300. @ 8,16 SAY "Please contact"
  3301. SHOW WINDOW bugbox
  3302. PRIVATE m_call, m_title, m_phone
  3303. STORE SPACE(0) TO m_call, m_title, m_phone
  3304. * ========================================
  3305. *$ Get info on appropriate person to call
  3306. * ========================================
  3307. DO app_admin
  3308. @ 9, 0 SAY PADC(m.m_call, 46)
  3309. @10, 0 SAY PADC(m.m_title, 46)
  3310. @11, 0 SAY PADC(m.m_phone, 46)
  3311. @12,12 SAY "to report the problem."
  3312. @14, 1 SAY "Press any key to return " + ;
  3313.     "to Main Menu..." COLOR (lowtext)
  3314. DO razberry
  3315. = INKEY(0, "MH")
  3316. RELEASE WINDOW bugbox
  3317. CLEAR TYPEAHEAD
  3318. RETURN
  3319. * End procedure NOMEMO
  3320.  
  3321.  
  3322. *!*****************************************************************************
  3323. *!
  3324. *!      Procedure: BAD_RPT
  3325. *!
  3326. *!      Called by: FP25EROR.PRG                      
  3327. *!
  3328. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  3329. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3330. *!
  3331. *!*****************************************************************************
  3332. PROCEDURE bad_rpt
  3333. *******************************************************************************
  3334. *& Error #50 - Report file invalid
  3335. *& Error #54 - Label file invalid
  3336. *& Error #1241 - Improper data type in group expression
  3337. *& Error #1243 - Internal error: Too many characters in report
  3338. *& Error #1245 - Error in label field definition
  3339. *& Error #1246 - Total label width exceeds maximum allowable
  3340. *& Error #1645 - Report nesting error
  3341. *& Error #1646 - Total field type in report must be numeric
  3342. *& Error #1647 - Improper data type in field expression
  3343. *& Error #1653 - Label nesting error
  3344. *
  3345. *   The most likely causes of this error are:
  3346. *
  3347. *   1.  Syntax error in the REPORT FORM .FRX file
  3348. *       or the LABEL FORM file
  3349. *
  3350. *   2.  Descriptions in the REPORT or LABEL FORM file do
  3351. *       not match the database
  3352. *
  3353. *   3.  The REPORT or LABEL file has become corrupted
  3354. *
  3355. *   Author: Pat Adams  (718) 469-4032
  3356. *   Date: 8/14/91
  3357. *
  3358. *   Modified 1/6/93 by Pat Adams
  3359. *       Use of color schemes & SYSDATA added
  3360. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3361. PARAMETERS error_no
  3362. PRIVATE which1, which2
  3363.  
  3364. IF error_no = 50 OR error_no = 1241 OR error_no = 1243 ;
  3365.         OR error_no = 1645 OR error_no = 1646 OR error_no ;
  3366.         = 1647
  3367.     STORE "report" TO which1, which2
  3368. ELSE
  3369.     STORE "label" TO which1
  3370.     STORE "labels" TO which2
  3371. ENDIF (error_no = 50 OR error_no = 1241 OR error_no = 1243 ;)
  3372.  
  3373. DEFINE WINDOW bugbox FROM 5,19 TO 19,61 DOUBLE ;
  3374.     COLOR SCHEME 20 SHADOW
  3375. ACTIVATE SCREEN
  3376. ACTIVATE WINDOW bugbox NOSHOW
  3377. @ 0,10 SAY "   W H O O P S  " COLOR (redblink)
  3378. @ 2, 1 SAY "There is a problem with the &which1 form"
  3379. @ 3, 1 SAY "file.  The &which2 can not be generated"
  3380. @ 4, 1 SAY "until the problem is corrected."
  3381. @ 6,13 SAY "Please contact"
  3382. SHOW WINDOW bugbox
  3383. PRIVATE m_call, m_title, m_phone
  3384. STORE SPACE(0) TO m_call, m_title, m_phone
  3385. * ========================================
  3386. *$ Get info on appropriate person to call
  3387. * ========================================
  3388. DO developer
  3389. @ 7, 0 SAY PADC(m.m_call, 41)
  3390. @ 8, 0 SAY PADC(m.m_title, 41)
  3391. @ 9, 0 SAY PADC(m.m_phone, 41)
  3392. @10, 9 SAY "to report the problem."
  3393. @12, 1 SAY "Press any key to return to " + ;
  3394.     "Main Menu..." COLOR (lowtext)
  3395. DO razberry
  3396. =INKEY(0, "MH")
  3397. RELEASE WINDOW bugbox
  3398. CLEAR TYPEAHEAD
  3399. RETURN
  3400. * End procedure BAD_RPT
  3401.  
  3402.  
  3403. *!*****************************************************************************
  3404. *!
  3405. *!      Procedure: BADMEMFL
  3406. *!
  3407. *!      Called by: FP25EROR.PRG                      
  3408. *!
  3409. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  3410. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3411. *!
  3412. *!*****************************************************************************
  3413. PROCEDURE badmemfl
  3414. *******************************************************************************
  3415. *& Error #55 - Memory Variable file is invalid
  3416. *
  3417. *   An attempt was made to RESTORE FROM a .MEM file
  3418. *   which has been trashed.
  3419. *
  3420. *   If info in the .MEM file is necessary to the overall
  3421. *   application change this module so user is returned to DOS.
  3422. *
  3423. *   Note that .MEM files should not be used in a LAN
  3424. *   environment because they can not be locked but can
  3425. *   be overwritten.
  3426. *
  3427. *   Author: Pat Adams  (718) 469-4032
  3428. *   Date: 8/14/91
  3429. *
  3430. *   Modified 1/4/93 by Pat Adams
  3431. *       Use of color schemes & SYSDATA added
  3432. *
  3433. *   Modified 3/8/93 by Pat Adams
  3434. *       Minor bug fix - necessary memvars added.
  3435. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3436. PRIVATE m_call, m_title, m_phone
  3437. STORE SPACE(0) TO m_call, m_title, m_phone
  3438. DEFINE WINDOW bugbox FROM 4,19 TO 19,61 DOUBLE ;
  3439.     COLOR SCHEME 20 SHADOW
  3440. ACTIVATE SCREEN
  3441. ACTIVATE WINDOW bugbox NOSHOW
  3442. @ 0,10 SAY "   W H O O P S  " COLOR (redblink)
  3443. @ 2, 1 SAY "There is a problem with a 'memory' file"
  3444. @ 3, 1 SAY "which contains necessary information."
  3445. @ 4, 1 SAY "This option can not be used until the"
  3446. @ 5, 1 SAY "problem has been corrected."
  3447. @ 7,13 SAY "Please contact"
  3448. SHOW WINDOW bugbox
  3449. DO developer
  3450. @ 8, 0 SAY PADC(m.m_call, 41)
  3451. @ 9, 0 SAY PADC(m.m_title, 41)
  3452. @10, 0 SAY PADC(m.m_phone, 41)
  3453. @11, 9 SAY "to report the problem."
  3454. @13, 1 SAY "Press any key to return " + ;
  3455.     "to Main Menu..." COLOR (lowtext)
  3456. DO razberry
  3457. = INKEY(0, "MH")
  3458. RELEASE WINDOW bugbox
  3459. CLEAR TYPEAHEAD
  3460. RETURN
  3461. * End procedure BADMEMFL
  3462.  
  3463.  
  3464.  
  3465. *!*****************************************************************************
  3466. *!
  3467. *!      Procedure: NOSPACE
  3468. *!
  3469. *!      Called by: FP25EROR.PRG                      
  3470. *!
  3471. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  3472. *!               : YES_NO             (procedure in FP25EROR.PRG)
  3473. *!
  3474. *!           Uses: SYSDATA.DBF        
  3475. *!
  3476. *!*****************************************************************************
  3477. PROCEDURE nospace
  3478. *******************************************************************************
  3479. *& Error #56 - Not enough disk space
  3480. *
  3481. *   User has run out of disk space on a local hard disk,
  3482. *   a floppy disk, or in a LAN server subdirectory.
  3483. *
  3484. *   If user has a printer available send error output to
  3485. *   the printer.  An attempt is not made to USE the SYSDATA
  3486. *   file since this error condition may preclude such activity.
  3487. *
  3488. *   Menachem Bazian reports that the "out of disk" error has
  3489. *   been erroneously reported under both Novell 2.15C and Novell
  3490. *   3.11 at times.  This has been traced to files which have no
  3491. *   "owner" but, instead, are classified as N/A under Novell.
  3492. *   Without a Novell owner the size of a file can not be
  3493. *   increased.  Theoretically it should not be possible for a
  3494. *   file to be created under Novell without an owner, however...
  3495. *
  3496. *   Fox Software indicates they are planning an enhancement
  3497. *   to FoxPro 2.0 which will also report the disk which is
  3498. *   out of disk space.  Once this is available FP25EROR will
  3499. *   be modified to make use of this option.
  3500. *
  3501. *   Author: Pat Adams  (718) 469-4032
  3502. *   Date: 8/14/91
  3503. *
  3504. *   Modified 1/7/93 by Pat Adams
  3505. *       Use of color schemes & SYSDATA added
  3506. *
  3507. *   Modified 3/8/93 by Pat Adams
  3508. *       The word "send" corrected to "sent"
  3509. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3510. PARAMETERS doprint
  3511.  
  3512. IF ! USED("SYSDATA")
  3513.     SELECT 0
  3514.     USE sysdata NOUPDATE
  3515. ELSE
  3516.     SELECT sysdata
  3517. ENDIF (! USED("SYSDATA"))
  3518.  
  3519. IF sysdata.multi_user
  3520.     * ==========================================
  3521.     *$ Provide user with error info appropriate
  3522.     *$ to those using a LAN
  3523.     * ==========================================
  3524.     DEFINE WINDOW bugbox FROM 5,14 TO 17,66 DOUBLE ;
  3525.         COLOR SCHEME 20 SHADOW
  3526.     ACTIVATE SCREEN
  3527.     ACTIVATE WINDOW bugbox NOSHOW
  3528.     @ 0,14 SAY "  REALLY BAD NEWS  " COLOR (redblink)
  3529.     @ 2, 1 SAY "You have run out of space on the LAN subdirectory"
  3530.     @ 3, 1 SAY "in use, on your local hard disk or on the floppy"
  3531.     @ 4, 1 SAY "disk if you are attempting to write to a floppy."
  3532.     @ 6, 1 SAY "Information about this problem will be sent to"
  3533.     @ 7, 1 SAY "the printer before returning you to DOS.  Please"
  3534.     @ 8, 1 SAY "give a copy to your LAN administrator."
  3535.     @10, 1 SAY "Press any key to continue..." COLOR (lowtext)
  3536.     SHOW WINDOW bugbox
  3537.     DO razberry
  3538.     = INKEY(0, "MH")
  3539.     * ==================================
  3540.     * Assumption is that a printer will
  3541.     * always be available on a LAN
  3542.     * ==================================
  3543.     STORE .T. TO doprint
  3544. ELSE
  3545.     * ==========================================
  3546.     *$ Otherwise display error info appropriate
  3547.     *$ to a stand-alone system
  3548.     * ==========================================
  3549.     DEFINE WINDOW nospace FROM 6,16 TO 15,64 DOUBLE ;
  3550.         COLOR SCHEME 20 SHADOW
  3551.     ACTIVATE SCREEN
  3552.     ACTIVATE WINDOW nospace
  3553.     @ 0,12 SAY "  REALLY BAD NEWS  " COLOR (redblink)
  3554.     @ 2, 1 SAY "There is no more space on your hard disk or,"
  3555.     @ 3, 1 SAY "if you are writing to a floppy disk, on that"
  3556.     @ 4, 1 SAY "floppy disk."
  3557.     @ 6, 1 SAY "Would you like to print out error information"
  3558.     @ 7, 1 SAY "before returning to DOS?  (Y/N)"
  3559.     DO razberry
  3560.     DO yes_no WITH doprint
  3561.     
  3562.     IF doprint
  3563.         DEFINE WINDOW makesure FROM 9,10 TO 12,70 "░", ;
  3564.             "░","░","░","░","░","░","░" ;
  3565.             COLOR W+*/N,N/W,W+*/N SHADOW
  3566.         ACTIVATE SCREEN
  3567.         ACTIVATE WINDOW makesure
  3568.         @ 0, 0 SAY REPLICATE("░",59)
  3569.         @ 1, 0 SAY REPLICATE("░",59)
  3570.         @ 0, 2 SAY "Please make sure your printer " + ;
  3571.             "is turned on and on-line."
  3572.         @ 1,12 SAY " Press any key to begin printing..."
  3573.         = INKEY(0, "MH")
  3574.         RELEASE WINDOW makesure
  3575.     ENDIF (doprint)
  3576. ENDIF (sysdata.multi_user)
  3577.  
  3578. RELEASE WINDOW bugbox
  3579. CLEAR TYPEAHEAD
  3580. RETURN doprint
  3581. * End procedure NOSPACE
  3582.  
  3583.  
  3584.  
  3585. *!*****************************************************************************
  3586. *!
  3587. *!      Procedure: BAD_DIF
  3588. *!
  3589. *!      Called by: FP25EROR.PRG                      
  3590. *!
  3591. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3592. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3593. *!
  3594. *!*****************************************************************************
  3595. PROCEDURE bad_dif
  3596. *******************************************************************************
  3597. *& Error #115 - Invalid DIF file header
  3598. *& Error #116 - Invalid DIF vector-DBF field mismatch
  3599. *& Error #117 - Invalid DIF type indicator
  3600. *
  3601. *   The DIF file user is attempting to import may not
  3602. *   be in the DIF file format, the file may be corrupted,
  3603. *   or if APPEND FROM...DIF has been used the data elements
  3604. *   of the DIF file may not match the database in use.
  3605. *
  3606. *   Author: Pat Adams
  3607. *   Date: 8/1/91
  3608. *
  3609. *   Modified 1/6/93 by Pat Adams
  3610. *       Use of color schemes & SYSDATA added
  3611. *
  3612. *   Modified 3/25/93 by by Pat Adams
  3613. *       Telephone number/extension SAY centered
  3614. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3615. DEFINE WINDOW bugbox FROM 4,12 TO 19,68 DOUBLE ;
  3616.     COLOR SCHEME 20 SHADOW
  3617. ACTIVATE SCREEN
  3618. ACTIVATE WINDOW bugbox NOSHOW
  3619. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  3620. @ 2, 1 SAY "There's a problem with the DIF " + ;
  3621.     "(VisiCalc) file you"
  3622. @ 3, 1 SAY "are attempting to import.  " + ;
  3623.     "It may not actually be a"
  3624. @ 4, 1 SAY "DIF file, the file header may " + ;
  3625.     "be corrupted, or the"
  3626. @ 5, 1 SAY "data elements may not match the " + ;
  3627.     "database file in use."
  3628. @ 7,20 SAY "Please contact"
  3629. SHOW WINDOW bugbox
  3630. PRIVATE m_call, m_title, m_phone
  3631. STORE SPACE(0) TO m_call, m_title, m_phone
  3632. * ========================================
  3633. *$ Get info on appropriate person to call
  3634. * ========================================
  3635. DO app_admin
  3636. @ 8, 0 SAY PADC(m.m_call, 55)
  3637. @ 9, 0 SAY PADC(m.m_title, 55)
  3638. @10, 0 SAY PADC(m.m_phone, 55)
  3639. @11,17 SAY "to report this problem."
  3640. @13, 1 SAY "Press any key to return to " + ;
  3641.     "Main Menu..." COLOR (lowtext)
  3642. DO razberry
  3643. = INKEY(0, "MH")
  3644. RELEASE WINDOW bugbox
  3645. CLEAR TYPEAHEAD
  3646. RETURN
  3647. * End procedure BAD_DIF
  3648.  
  3649.  
  3650. *!*****************************************************************************
  3651. *!
  3652. *!      Procedure: BAD_SYLK
  3653. *!
  3654. *!      Called by: FP25EROR.PRG                      
  3655. *!
  3656. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3657. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3658. *!
  3659. *!*****************************************************************************
  3660. PROCEDURE bad_sylk
  3661. *******************************************************************************
  3662. *& Error #119 - Invalid SYLK file header -
  3663. *    File header may have been trashed
  3664. *
  3665. *& Error #120 - Invalid SYLK dimension bounds -
  3666. *    The file being imported is indicating invalid
  3667. *    rows or columns - it is 'out of bounds'
  3668. *
  3669. *& Error #121 - Invalid SYLK file format -
  3670. *    File is not a SYLK (Multiplan) file.  It may
  3671. *    be that the file is a Multiplan 4.01 file in
  3672. *    which case the MOD option should be used.
  3673. *
  3674. *& Error #1670 - Invalid Multiplan v 4.0 file format
  3675. *    File being imported is not a v. 4.0 file or
  3676. *    has been corrupted
  3677. *
  3678. *   Author: Pat Adams  (718) 469-4032
  3679. *   Date: 8/14/91
  3680. *
  3681. *   Modified 1/11/93 by Pat Adams
  3682. *     Use of color schemes added and error
  3683. *     #1670 added.
  3684. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3685. DEFINE WINDOW bugbox FROM  4,12 TO 19,68 DOUBLE ;
  3686.     COLOR SCHEME 20 SHADOW
  3687. ACTIVATE SCREEN
  3688. ACTIVATE WINDOW bugbox NOSHOW
  3689. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  3690. @ 2, 1 SAY "There's a problem with the Multiplan " + ;
  3691.     "SYLK file that"
  3692. @ 3, 1 SAY "is being imported.  The SYLK " + ;
  3693.     "file may be corrupted"
  3694. @ 4, 1 SAY "or it may be that the file is a " + ;
  3695.     "Multiplan 4.01 file"
  3696. @ 5, 1 SAY "which uses the MOD file structure " + ;
  3697.     "rather than SYLK."
  3698. @ 7,20 SAY "Please contact"
  3699. SHOW WINDOW bugbox
  3700. PRIVATE m_call, m_title, m_phone
  3701. STORE SPACE(0) TO m_call, m_title, m_phone
  3702. * ========================================
  3703. *$ Get info on appropriate person to call
  3704. * ========================================
  3705. DO app_admin
  3706. @ 8, 0 SAY PADC(m.m_call, 55)
  3707. @ 9, 0 SAY PADC(m.m_title, 55)
  3708. @10, 0 SAY PADC(m.m_phone, 55)
  3709. @11,17 SAY "to report this problem."
  3710. @13, 1 SAY "Press any key to return " + ;
  3711.     "to Main Menu..." COLOR (lowtext)
  3712. DO razberry
  3713. = INKEY(0, "MH")
  3714. RELEASE WINDOW bugbox
  3715. CLEAR TYPEAHEAD
  3716. RETURN
  3717. * End procedure BAD_SYLK
  3718.  
  3719.  
  3720. *!*****************************************************************************
  3721. *!
  3722. *!      Procedure: NOTRIGHT
  3723. *!
  3724. *!      Called by: FP25EROR.PRG                      
  3725. *!
  3726. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3727. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3728. *!
  3729. *!*****************************************************************************
  3730. PROCEDURE notright
  3731. *******************************************************************************
  3732. *& Error #255 - Not a valid Rapidfile database
  3733. *& Error #256 - Not a valid Framework II database\spreadsheet
  3734. *
  3735. *   Author: Pat Adams  (718) 469-4032
  3736. *   Date: 8/14/91
  3737. *
  3738. *   Modified 1/5/93 by Pat Adams
  3739. *       Use of color schemes & SYSDATA added
  3740. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3741. PARAMETERS error_no
  3742. PRIVATE ftype
  3743.  
  3744. IF error_no = 255
  3745.     ftype = "RapidFile"
  3746. ELSE
  3747.     ftype = "Framework II"
  3748. ENDIF (error_no = 255)
  3749.  
  3750. DEFINE WINDOW bugbox FROM 5,14 TO 18,65 DOUBLE ;
  3751.     COLOR SCHEME 20 SHADOW
  3752. ACTIVATE SCREEN
  3753. ACTIVATE WINDOW bugbox NOSHOW
  3754. @ 0,15 SAY "   S O R R Y   " COLOR (redblink)
  3755. @ 2, 1 SAY "The file from which you are attempting to import"
  3756. @ 3, 1 SAY "data is not a valid &ftype file."
  3757. @ 5, 7 SAY "If you would like help please contact"
  3758. SHOW WINDOW bugbox
  3759. PRIVATE m_call, m_title, m_phone
  3760. STORE SPACE(0) TO m_call, m_title, m_phone
  3761. * ========================================
  3762. *$ Get info on appropriate person to call
  3763. * ========================================
  3764. DO app_admin
  3765. @ 6, 0 SAY PADC(m.m_call, 50)
  3766. @ 7, 0 SAY PADC(m.m_title, 50)
  3767. @ 8, 0 SAY PADC(m.m_phone, 50)
  3768. @ 9,14 SAY "to report this problem."
  3769. @11, 1 SAY "Press any key to return to " + ;
  3770.     "Main Menu..." COLOR (lowtext)
  3771. DO razberry
  3772. = INKEY(0, "MH")
  3773. RELEASE WINDOW bugbox
  3774. CLEAR TYPEAHEAD
  3775. RETURN
  3776. * End procedure NOTRIGHT
  3777.  
  3778.  
  3779.  
  3780. *!*****************************************************************************
  3781. *!
  3782. *!      Procedure: BADLOTUS
  3783. *!
  3784. *!      Called by: FP25EROR.PRG                      
  3785. *!
  3786. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3787. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3788. *!
  3789. *!*****************************************************************************
  3790. PROCEDURE badlotus
  3791. *******************************************************************************
  3792. *& Error #297 - Invalid Lotus 1-2-3 version 2.0 file format
  3793. *& Error #1662 - Invalid Lotus 1-2-3 Version 1.0 file format
  3794. *& Error #1678 - Invalid Lotus 1-2-3 version 3.0 file format
  3795. *
  3796. *   Author: Pat Adams  (718) 469-4032
  3797. *   Date: 8/16/91
  3798. *
  3799. *   Modified 1/4/93 by Pat Adams
  3800. *       Use of color schemes & SYSDATA added
  3801. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3802. PARAMETERS error_no
  3803. PRIVATE which1
  3804.  
  3805. DO CASE error_no
  3806.     CASE error_no = 297
  3807.         STORE "2.0" TO which1
  3808.         
  3809.     CASE error_no = 1662
  3810.         STORE "1.0" TO which1
  3811.         
  3812.     CASE error_no = 1678
  3813.         STORE "3.0" TO which1
  3814. ENDCASE error_no
  3815.  
  3816. DEFINE WINDOW bugbox FROM 4,12 TO 17,68 DOUBLE ;
  3817.     COLOR SCHEME 20 SHADOW
  3818. ACTIVATE SCREEN
  3819. ACTIVATE WINDOW bugbox NOSHOW
  3820. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  3821. @ 2, 1 SAY "The file from which you are " + ;
  3822.     "attempting to import data"
  3823. @ 3, 1 SAY "is not a valid Lotus 1-2-3 " + ;
  3824.     "version &which1 file."
  3825. @ 5, 9 SAY "If you would like help please contact"
  3826. SHOW WINDOW bugbox
  3827. PRIVATE m_call, m_title, m_phone
  3828. STORE SPACE(0) TO m_call, m_title, m_phone
  3829. * ========================================
  3830. *$ Get info on appropriate person to call
  3831. * ========================================
  3832. DO app_admin
  3833. @ 6, 0 SAY PADC(m.m_call, 54)
  3834. @ 7, 0 SAY PADC(m.m_title, 54)
  3835. @ 8, 0 SAY PADC(m.m_phone, 54)
  3836. @ 9,17 SAY "to report this problem."
  3837. @11, 1 SAY "Press any key to return " + ;
  3838.     "to Main Menu..." COLOR (lowtext)
  3839. DO razberry
  3840. = INKEY(0, "MH")
  3841. RELEASE WINDOW bugbox
  3842. CLEAR TYPEAHEAD
  3843. RETURN
  3844. * End procedure BADLOTUS
  3845.  
  3846.  
  3847. *!*****************************************************************************
  3848. *!
  3849. *!      Procedure: BADSYMPH
  3850. *!
  3851. *!      Called by: FP25EROR.PRG                      
  3852. *!
  3853. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3854. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3855. *!
  3856. *!*****************************************************************************
  3857. PROCEDURE badsymph
  3858. *******************************************************************************
  3859. *& Error #1673 - Invalid Symphony version 1.0 file format
  3860. *& Error #1674 - Invalid Symphony version 1.1 file format
  3861. *
  3862. *   Author: Pat Adams  (718) 469-4032
  3863. *   Date: 8/16/91
  3864. *
  3865. *   Modified 1/4/93 by Pat Adams
  3866. *       Use of color schemes & SYSDATA added
  3867. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3868. PARAMETERS error_no
  3869. PRIVATE which1
  3870.  
  3871. DO CASE error_no
  3872.     CASE error_no = 1673
  3873.         STORE "1.0" TO which1
  3874.         
  3875.     CASE error_no = 1674
  3876.         STORE "1.1" TO which1
  3877. ENDCASE error_no
  3878.  
  3879. DEFINE WINDOW bugbox FROM 4,12 TO 17,68 DOUBLE ;
  3880.     COLOR SCHEME 20 SHADOW
  3881. ACTIVATE SCREEN
  3882. ACTIVATE WINDOW bugbox NOSHOW
  3883. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  3884. @ 2, 1 SAY "The file from which you are " + ;
  3885.     "attempting to import data"
  3886. @ 3, 1 SAY "is not a valid Symphony " + ;
  3887.     "version &which1 file."
  3888. @ 5, 9 SAY "If you would like help please contact"
  3889. SHOW WINDOW bugbox
  3890. PRIVATE m_call, m_title, m_phone
  3891. STORE SPACE(0) TO m_call, m_title, m_phone
  3892. * ========================================
  3893. *$ Get info on appropriate person to call
  3894. * ========================================
  3895. DO app_admin
  3896. @ 6, 0 SAY PADC(m.m_call, 54)
  3897. @ 7, 0 SAY PADC(m.m_title, 54)
  3898. @ 8, 0 SAY PADC(m.m_phone, 54)
  3899. @ 9,17 SAY "to report this problem."
  3900. @11, 1 SAY "Press any key to return to Main Menu..." COLOR (lowtext)
  3901. DO razberry
  3902. = INKEY(0, "MH")
  3903. RELEASE WINDOW bugbox
  3904. CLEAR TYPEAHEAD
  3905. RETURN
  3906. * End procedure BADSYMPH
  3907.  
  3908.  
  3909. *!*****************************************************************************
  3910. *!
  3911. *!      Procedure: BADEXCEL
  3912. *!
  3913. *!      Called by: FP25EROR.PRG                      
  3914. *!
  3915. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  3916. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3917. *!
  3918. *!*****************************************************************************
  3919. PROCEDURE badexcel
  3920. *******************************************************************************
  3921. *& Error #1661 - Invalid Excel version 2.0 file format
  3922. *
  3923. *   Author: Pat Adams  (718) 469-4032
  3924. *   Date: 8/16/91
  3925. *
  3926. *   Modified 1/5/93 by Pat Adams
  3927. *       Use of color schemes & SYSDATA added
  3928. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3929. DEFINE WINDOW bugbox FROM 4,12 TO 17,68 DOUBLE ;
  3930.     COLOR SCHEME 20 SHADOW
  3931. ACTIVATE SCREEN
  3932. ACTIVATE WINDOW bugbox NOSHOW
  3933. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  3934. @ 2, 1 SAY "The file from which you are " + ;
  3935.     "attempting to import data"
  3936. @ 3, 1 SAY "is not a valid Excel " + ;
  3937.     "version 2.0 file."
  3938. @ 5, 9 SAY "If you would like help please contact"
  3939. SHOW WINDOW bugbox
  3940. PRIVATE m_call, m_title, m_phone
  3941. STORE SPACE(0) TO m_call, m_title, m_phone
  3942. * ========================================
  3943. *$ Get info on appropriate person to call
  3944. * ========================================
  3945. DO app_admin
  3946. @ 6, 0 SAY PADC(m.m_call, 54)
  3947. @ 7, 0 SAY PADC(m.m_title, 54)
  3948. @ 8, 0 SAY PADC(m.m_phone, 54)
  3949. @ 9,17 SAY "to report this problem."
  3950. @11, 1 SAY "Press any key to return " + ;
  3951.     "to Main Menu..." COLOR (lowtext)
  3952. DO razberry
  3953. = INKEY(0, "MH")
  3954. RELEASE WINDOW bugbox
  3955. CLEAR TYPEAHEAD
  3956. RETURN
  3957. * End procedure BADEXCEL
  3958.  
  3959.  
  3960. *!*****************************************************************************
  3961. *!
  3962. *!      Procedure: SQL_INTL
  3963. *!
  3964. *!      Called by: FP25EROR.PRG                      
  3965. *!
  3966. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  3967. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  3968. *!
  3969. *!*****************************************************************************
  3970. PROCEDURE sql_intl
  3971. *******************************************************************************
  3972. *& Error #800 & 1800 - SQL Internal Err
  3973. *
  3974. *   User is instructed to call developer and then is
  3975. *   returned to DOS since the internal SQL error may
  3976. *   disrupt memory management.  Developer should report
  3977. *   details of the problem to Fox Software Technical
  3978. *   Support
  3979. *
  3980. *   Author: Pat Adams  (718) 469-4032
  3981. *   Date: 8/16/91
  3982. *
  3983. *   Modified 1/5/93 by Pat Adams
  3984. *       Use of color schemes & SYSDATA added
  3985. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  3986. DEFINE WINDOW bugbox FROM 4,17 TO 19,63 DOUBLE ;
  3987.     COLOR SCHEME 20 SHADOW
  3988. ACTIVATE SCREEN
  3989. ACTIVATE WINDOW bugbox NOSHOW
  3990. @ 0,12 SAY "   W H O O P S   " COLOR (redblink)
  3991. @ 2, 1 SAY "An internal SQL error has occurred.  This"
  3992. @ 3, 1 SAY "may disrupt other memory management, there-"
  3993. @ 4, 1 SAY "fore, you will be returned to DOS.  You can"
  3994. @ 5, 1 SAY "then restart the application."
  3995. @ 7,15 SAY "Please contact"
  3996. SHOW WINDOW bugbox
  3997. PRIVATE m_call, m_title, m_phone
  3998. STORE SPACE(0) TO m_call, m_title, m_phone
  3999. * ========================================
  4000. *$ Get info on appropriate person to call
  4001. * ========================================
  4002. DO developer
  4003. @ 8, 0 SAY PADC(m.m_call, 45)
  4004. @ 9, 0 SAY PADC(m.m_title, 45)
  4005. @10, 0 SAY PADC(m.m_phone, 45)
  4006. @11, 5 SAY "immediately to report this problem."
  4007. @13, 1 SAY "Press any key to quit to " + ;
  4008.     "DOS..." COLOR (lowtext)
  4009. DO razberry
  4010. = INKEY(0, "MH")
  4011. RELEASE WINDOW bugbox
  4012. CLEAR TYPEAHEAD
  4013. RETURN
  4014. *End procedure SQL_INTL
  4015.  
  4016.  
  4017. *!*****************************************************************************
  4018. *!
  4019. *!      Procedure: SQL_IDX
  4020. *!
  4021. *!      Called by: FP25EROR.PRG                      
  4022. *!
  4023. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4024. *!               : YES_NO             (procedure in FP25EROR.PRG)
  4025. *!
  4026. *!           Uses: SYSDATA.DBF        
  4027. *!
  4028. *!*****************************************************************************
  4029. PROCEDURE sql_idx
  4030. *******************************************************************************
  4031. *& Error #831 or #1831 - SQL err building temporary index
  4032. *
  4033. *   The temporary index necessary to the SQL query
  4034. *   count not be built.  Possible causes are:
  4035. *
  4036. *   1.  Insufficient disk space on the local hard disk
  4037. *
  4038. *   2.  User may not have the necessary "rights"
  4039. *       on the LAN server
  4040. *
  4041. *   3.  Insufficient space in the LAN subdirectory
  4042. *
  4043. *   Because of the potential for insufficient disk
  4044. *   space no attempt is made to close databases or
  4045. *   save the error information except via hard copy.
  4046. *
  4047. *   Author: Pat Adams  (718) 469-4032
  4048. *   Date: 8/16/91
  4049. *
  4050. *   Modified 1/5/93 by Pat Adams
  4051. *       Use of color schemes & SYSDATA added
  4052. *       and 2.5 error #1831 added.
  4053. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4054. PARAMETERS doprint
  4055.  
  4056. IF ! USED("SYSDATA")
  4057.     SELECT 0
  4058.     USE sysdata NOUPDATE
  4059. ELSE
  4060.     SELECT sysdata
  4061. ENDIF (! USED("SYSDATA"))
  4062.  
  4063. IF sysdata.multi_user
  4064.     * ================================
  4065.     * Assumption is that a LAN printer
  4066.     * will always be available
  4067.     * ================================
  4068.     DEFINE WINDOW bugbox FROM 3,7 TO 20,73 DOUBLE ;
  4069.         COLOR SCHEME 20 SHADOW
  4070.     ACTIVATE SCREEN
  4071.     ACTIVATE WINDOW bugbox
  4072.     @ 0,24 SAY "  BAD NEWS  " COLOR (redblink)
  4073.     @ 2, 1 SAY "Unable to build the temporary index " + ;
  4074.         "required for the SQL query."
  4075.     @ 3, 1 SAY "Possible causes may be:"
  4076.     @ 5, 4 SAY "a.  You have run out of disk " + ;
  4077.         "space on your local hard disk;"
  4078.     @ 7, 4 SAY "b.  You have run out of space " + ;
  4079.         "in the LAN subdirectory;"
  4080.     @ 9, 4 SAY "c.  You do not have the appropriate " + ;
  4081.         "user rights on the LAN"
  4082.     @11, 1 SAY "Information on the problem will " + ;
  4083.         "be sent to the printer.  Please"
  4084.     @12, 1 SAY "contact your LAN administrator " + ;
  4085.         "immediately and provide a copy"
  4086.     @13, 1 SAY "of the error information."
  4087.     @15, 1 SAY "Press any key to print and then " + ;
  4088.         "return to DOS..." COLOR (lowtext)
  4089.     DO razberry
  4090.     = INKEY(0, "MH")
  4091.     STORE .T. TO doprint
  4092.     USE
  4093. ELSE
  4094.     * ======================================
  4095.     *$ Otherwise provide info pertinent to
  4096.     *$ single user situation
  4097.     * ======================================
  4098.     DEFINE WINDOW bugbox FROM 7,13 TO 16,66 DOUBLE ;
  4099.         COLOR N/W,N/W,R+*/W SHADOW
  4100.     ACTIVATE SCREEN
  4101.     ACTIVATE WINDOW bugbox
  4102.     @ 0,15 SAY "  REALLY BAD NEWS  " COLOR (redblink)
  4103.     @ 2, 1 SAY "Unable to build the temporary index required for"
  4104.     @ 3, 1 SAY "the SQL query.  It is likely that you have run out"
  4105.     @ 4, 1 SAY "of disk space."
  4106.     DO razberry
  4107.     @ 6, 1 SAY "Do you have a printer available to print out error"
  4108.     @ 7, 1 SAY "information before returning to DOS?   (Y/N)"
  4109.     DO yes_no WITH doprint
  4110.     
  4111.     IF doprint
  4112.         DEFINE WINDOW makesure FROM 9,10 TO 12,70 "░", ;
  4113.             "░","░","░","░","░","░","░" ;
  4114.             COLOR W+*/N,N/W,W+*/N SHADOW
  4115.         ACTIVATE SCREEN
  4116.         ACTIVATE WINDOW makesure
  4117.         @ 0, 0 SAY REPLICATE("░",59)
  4118.         @ 1, 0 SAY REPLICATE("░",59)
  4119.         @ 0, 2 SAY "Please make sure your printer " + ;
  4120.             "is turned on and on-line."
  4121.         @ 1,12 SAY " Press any key to begin printing..."
  4122.         CLEAR TYPEAHEAD
  4123.         = INKEY(0, "MH")
  4124.         RELEASE WINDOW makesure
  4125.     ENDIF (doprint)
  4126. ENDIF (sysdata.multi_user)
  4127.  
  4128. RELEASE WINDOW bugbox
  4129. CLEAR TYPEAHEAD
  4130. RETURN doprint
  4131. * End procedure SQL_IDX
  4132.  
  4133.  
  4134. *!*****************************************************************************
  4135. *!
  4136. *!      Procedure: SQLTRASH
  4137. *!
  4138. *!      Called by: FP25EROR.PRG                      
  4139. *!
  4140. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  4141. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4142. *!
  4143. *!*****************************************************************************
  4144. PROCEDURE sqltrash
  4145. *******************************************************************************
  4146. *& Error #821 - SQL invalid temporary file
  4147. *
  4148. *   The temporary file created by FoxPro for the SQL
  4149. *   query has been corrupted.
  4150. *
  4151. *   Author: Pat Adams  (718) 469-4032
  4152. *   Date: 8/16/91
  4153. *
  4154. *   Modified 1/5/93 by Pat Adams
  4155. *       Use of color schemes & SYSDATA added
  4156. *       FoxPro 2.5 error #1821 added.
  4157. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4158. DEFINE WINDOW bugbox FROM 5,18 TO 19,61 DOUBLE ;
  4159.     COLOR SCHEME 20 SHADOW
  4160. ACTIVATE SCREEN
  4161. ACTIVATE WINDOW bugbox NOSHOW
  4162. @ 0,12 SAY "   S O R R Y   " COLOR (redblink)
  4163. @ 2, 1 SAY "The temporary file for the SQL query has"
  4164. @ 3, 1 SAY "been corrupted.  If this error recurs"
  4165. @ 4, 1 SAY "consistently please contact:"
  4166. SHOW WINDOW bugbox
  4167. PRIVATE m_call, m_title, m_phone
  4168. STORE SPACE(0) TO m_call, m_title, m_phone
  4169. * ========================================
  4170. *$ Get info on appropriate person to call
  4171. * ========================================
  4172. DO developer
  4173. @ 6, 0 SAY PADC(m.m_call, 42)
  4174. @ 7, 0 SAY PADC(m.m_title, 42)
  4175. @ 8, 0 SAY PADC(m.m_phone, 42)
  4176. @10,10 SAY "to report the problem."
  4177. @12, 1 SAY "Press any key to return to " + ;
  4178.     "Main Menu..." COLOR (lowtext)
  4179. DO razberry
  4180. = INKEY(0, "MH")
  4181. RELEASE WINDOW bugbox
  4182. CLEAR TYPEAHEAD
  4183. RETURN
  4184. * End procedure SQLTRASH
  4185.  
  4186.  
  4187. *!*****************************************************************************
  4188. *!
  4189. *!      Procedure: NOSQLIDX
  4190. *!
  4191. *!      Called by: FP25EROR.PRG                      
  4192. *!
  4193. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  4194. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4195. *!
  4196. *!*****************************************************************************
  4197. PROCEDURE nosqlidx
  4198. *******************************************************************************
  4199. *& Error #830 & 1830 - SQL index not found
  4200. *
  4201. *   This may be the result of an incorrect PATH setting
  4202. *
  4203. *   Author: Pat Adams  (718) 469-4032
  4204. *   Date: 8/16/91
  4205. *
  4206. *   Modified 1/5/93 by Pat Adams
  4207. *       Use of color schemes & SYSDATA added
  4208. *       and FoxPro 2.5 error #1830 added
  4209. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4210. PRIVATE m_call, m_title, m_phone
  4211. DEFINE WINDOW bugbox FROM 5,23 TO 19,56 DOUBLE ;
  4212.     COLOR SCHEME 20 SHADOW
  4213. ACTIVATE SCREEN
  4214. ACTIVATE WINDOW bugbox NOSHOW
  4215. @ 0, 7 SAY "   S O R R Y   " COLOR (redblink)
  4216. @ 2, 1 SAY "Not able to find the SQL index"
  4217. @ 3, 1 SAY "required for this query."
  4218. @ 5, 9 SAY "Please contact"
  4219. SHOW WINDOW bugbox
  4220. STORE SPACE(0) TO m_call, m_title, m_phone
  4221. * ========================================
  4222. *$ Get info on appropriate person to call
  4223. * ========================================
  4224. DO developer
  4225. * ===========================================
  4226. * NOTE: Size of window may have to be enlarged
  4227. * if trimmed data in SYSDATA is longer than
  4228. * the BUGBOX window
  4229. * ===========================================
  4230. @ 6, 0 SAY PADC(m.m_call, 32)
  4231. @ 7, 0 SAY PADC(m.m_title, 32)
  4232. @ 8, 0 SAY PADC(m.m_phone, 32)
  4233. @ 9, 5 SAY "to report the problem."
  4234. @11, 1 SAY "Press any key to" COLOR (lowtext)
  4235. @12, 1 SAY "return to Main Menu..." COLOR (lowtext)
  4236. DO razberry
  4237. = INKEY(0, "MH")
  4238. RELEASE WINDOW bugbox
  4239. CLEAR TYPEAHEAD
  4240. RETURN
  4241. * End procedure NOSQLIDX
  4242.  
  4243.  
  4244.  
  4245. *!*****************************************************************************
  4246. *!
  4247. *!      Procedure: SQLABORT
  4248. *!
  4249. *!      Called by: FP25EROR.PRG                      
  4250. *!
  4251. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4252. *!               : YES_NO             (procedure in FP25EROR.PRG)
  4253. *!
  4254. *!*****************************************************************************
  4255. PROCEDURE sqlabort
  4256. *******************************************************************************
  4257. *& Error #839 & 1839 - SQL canceled operation
  4258. *
  4259. *   User pressed ESC key.  Determine if user
  4260. *   really wants to abort the query.
  4261. *
  4262. *   Author: Pat Adams  (718) 469-4032
  4263. *   Date: 8/16/91
  4264. *
  4265. *   Modified 1/5/93 by Pat Adams
  4266. *       Use of color schemes & SYSDATA added
  4267. *       and FoxPro 2.5 error 1839 added
  4268. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4269. PARAMETERS a_bort
  4270. DEFINE WINDOW bugbox FROM 10,19 TO 13,60 DOUBLE ;
  4271.     COLOR SCHEME 20 SHADOW
  4272. ACTIVATE SCREEN
  4273. ACTIVATE WINDOW bugbox
  4274. @ 0, 1 SAY "You pressed the ESCape key.  Do you"
  4275. @ 1, 1 SAY "really want to cancel the query? (Y/N)"
  4276. DO razberry
  4277. DO yes_no WITH a_bort
  4278. RELEASE WINDOW bugbox
  4279. RETURN a_bort
  4280. * End procedure SQLABORT
  4281.  
  4282.  
  4283.  
  4284. *!*****************************************************************************
  4285. *!
  4286. *!      Procedure: BADCLOSE
  4287. *!
  4288. *!      Called by: FP25EROR.PRG                      
  4289. *!
  4290. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  4291. *!               : DEVELOPER          (procedure in FP25EROR.PRG)
  4292. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4293. *!               : YES_NO             (procedure in FP25EROR.PRG)
  4294. *!
  4295. *!           Uses: SYSDATA.DBF        
  4296. *!
  4297. *!*****************************************************************************
  4298. PROCEDURE badclose
  4299. *******************************************************************************
  4300. *& Error #1112 - File close error
  4301. *
  4302. *   It may be that the operating system just
  4303. *   "hiccuped" or there may be a hardware problem.
  4304. *   Advise user & provide option to retry.
  4305. *
  4306. *   Author: Pat Adams  (718) 469-4032
  4307. *   Date: 8/16/91
  4308. *
  4309. *   Modified 1/4/93 by Pat Adams
  4310. *       Use of color schemes & SYSDATA added
  4311. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4312. PARAMETERS re_try
  4313. PRIVATE m_call, m_title, m_phone
  4314. STORE SPACE(0) TO m_call, m_title, m_phone
  4315.  
  4316. IF ! USED("SYSDATA")
  4317.     SELECT 0
  4318.     USE sysdata NOUPDATE
  4319. ELSE
  4320.     SELECT sysdata
  4321. ENDIF (! USED("SYSDATA"))
  4322.  
  4323. DEFINE WINDOW bugbox FROM 4,16 TO 20,67 DOUBLE ;
  4324.     COLOR SCHEME 20 SHADOW
  4325. ACTIVATE SCREEN
  4326. ACTIVATE WINDOW bugbox NOSHOW
  4327. @ 0,15 SAY "   W H O O P S   " COLOR (redblink)
  4328. @ 2, 1 SAY "A problem occurred while attempting to close a"
  4329. @ 3, 1 SAY "file.  It may be that the system just didn't get"
  4330. @ 4, 1 SAY "it's coffee and was temporarily feeling grumpy."
  4331. @ 5, 1 SAY "If so, trying again will correct the problem."
  4332. @ 6, 1 SAY "However, if this message continually appears it"
  4333. @ 7, 1 SAY "may be that there is a hardware problem. In that"
  4334. @ 8, 1 SAY "case please contact:"
  4335. SHOW WINDOW bugbox
  4336. * ========================================
  4337. *$ Get info on appropriate person to call
  4338. * ========================================
  4339. IF sysdata.multi_user
  4340.     DO lan_admin
  4341. ELSE
  4342.     DO developer
  4343. ENDIF (sysdata.multi_user)
  4344.  
  4345. @ 9, 0 SAY PADC(m.m_call, 50)
  4346. @10, 0 SAY PADC(m.m_title, 50)
  4347. @11, 0 SAY PADC(m.m_phone, 50)
  4348. @12,14 SAY "to report the problem."
  4349. DO razberry
  4350. @14, 9 SAY "DO YOU WANT TO TRY AGAIN?  (Y/N)"
  4351. DO yes_no WITH re_try
  4352. RELEASE WINDOW bugbox
  4353. RETURN re_try
  4354. * End procedure BADCLOSE
  4355.  
  4356.  
  4357. *!*****************************************************************************
  4358. *!
  4359. *!      Procedure: VERBOSE
  4360. *!
  4361. *!      Called by: FP25EROR.PRG                      
  4362. *!
  4363. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4364. *!               : YES_NO             (procedure in FP25EROR.PRG)
  4365. *!
  4366. *!*****************************************************************************
  4367. PROCEDURE verbose
  4368. *******************************************************************************
  4369. *$ Error #1201 - Too many names used
  4370. *
  4371. *   The FoxPro NAME TABLE "collects" the "names" used for
  4372. *   memory variables, arrays, data base files and indexes,
  4373. *   field names, procedures, etc. as they are used.  If
  4374. *   this table is exhausted the only thing that can be done
  4375. *   on an immediate basis is to return the user to DOS and
  4376. *   then restart the application.
  4377. *
  4378. *   The developer should modify the code so that memory
  4379. *   variable names, array names, window names, etc. are not
  4380. *   all unique but, rather, are used frequently in various
  4381. *   modules.  Simply use the PRIVATE statement to make sure
  4382. *   memvars and arrays do not conflict with others in use with
  4383. *   the same name at higher levels.
  4384. *
  4385. *   An example of this is the name BUGBOX used repeatedly
  4386. *   for message windows opened by FP25EROR.
  4387. *
  4388. *   Do not create procedures of the same name, however.
  4389. *
  4390. *   Because the name table is exhausted, it may not be
  4391. *   possible to open the SYSDATA and FP25EROR databases.
  4392. *   Therefore, the developer's name must be hard coded
  4393. *   in this module.
  4394. *
  4395. *$ Error #1308 - Stack overflow - expression too complex
  4396. *
  4397. *   Usually occurs because UDF's are nested too deeply or
  4398. *   the code is too recursive.
  4399. *
  4400. *   Author: Pat Adams  (718) 469-4032
  4401. *   Date: 8/16/91
  4402. *
  4403. *   Modified 1/5/93 by Pat Adams
  4404. *       Use of color schemes & SYSDATA added
  4405. *       and error #1308 added.
  4406. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4407. PARAMETERS doprint
  4408. DEFINE WINDOW bugbox FROM 5,10 TO 19,70 DOUBLE ;
  4409.     COLOR SCHEME 20 SHADOW
  4410. ACTIVATE SCREEN
  4411. ACTIVATE WINDOW bugbox
  4412. @ 0,19 SAY "   W H O O P S   " COLOR (redblink)
  4413. @ 2, 1 SAY "A problem has occurred that can be " + ;
  4414.     "cured temporarily by"
  4415. @ 3, 1 SAY "returning to DOS and starting this " + ;
  4416.     "application over again."
  4417. @ 5,13 SAY "It is important that you contact"
  4418. * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  4419. * NOTE: Developer's name is hard coded
  4420. * here for reasons stated above and must
  4421. * be changed to the appropriate name & phone #
  4422. * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  4423. @ 6, 0 SAY PADC("Developer Name", 58)
  4424. @ 7, 0 SAY PADC("Company Name/Title", 58)
  4425. @ 8, 0 SAY PADC("Phone Number", 58)
  4426. @ 9,18 SAY "to report the problem."
  4427. DO razberry
  4428. @11,12 SAY "DO YOU HAVE A PRINTER AVAILABLE TO"
  4429. @12,12 SAY "PRINT THE ERROR INFORMATION? (Y/N)"
  4430. DO yes_no WITH doprint
  4431.  
  4432. IF doprint
  4433.     DEFINE WINDOW makesure FROM 9,10 TO 12,70 "░", ;
  4434.         "░","░","░","░","░","░","░" ;
  4435.         COLOR W+*/N,N/W,W+*/N SHADOW
  4436.     ACTIVATE SCREEN
  4437.     ACTIVATE WINDOW makesure
  4438.     @ 0, 0 SAY REPLICATE("░",59)
  4439.     @ 1, 0 SAY REPLICATE("░",59)
  4440.     @ 0, 2 SAY "Please make sure your printer " + ;
  4441.         "is turned on and on-line."
  4442.     @ 1,12 SAY " Press any key to begin printing..."
  4443.     = INKEY(0, "MH")
  4444.     CLEAR TYPEAHEAD
  4445.     RELEASE WINDOW makesure
  4446. ENDIF (doprint)
  4447.  
  4448. RELEASE WINDOW bugbox
  4449. RETURN doprint
  4450. * End procedure VERBOSE
  4451.  
  4452.  
  4453. *!*****************************************************************************
  4454. *!
  4455. *!      Procedure: NORUN
  4456. *!
  4457. *!      Called by: FP25EROR.PRG                      
  4458. *!
  4459. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  4460. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4461. *!
  4462. *!*****************************************************************************
  4463. PROCEDURE norun
  4464. *******************************************************************************
  4465. *& Error #1405 - RUN/! command failed
  4466. *
  4467. *   Either there is insufficient free memory to execute the
  4468. *   program to be run from DOS or COMMAND.COM can not be found.
  4469. *   In the latter case make sure that the DOS COMMAND.COM is
  4470. *   accessible via the DOS environmental COMSPEC=
  4471. *
  4472. *   Author: Pat Adams  (718) 469-4032
  4473. *   Date: 8/16/91
  4474. *
  4475. *   Modified 1/5/93 by Pat Adams
  4476. *       Use of color schemes & SYSDATA added
  4477. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4478. DEFINE WINDOW bugbox FROM 4,12 TO 20,67 DOUBLE ;
  4479.     COLOR SCHEME 20 SHADOW
  4480. ACTIVATE SCREEN
  4481. ACTIVATE WINDOW bugbox NOSHOW
  4482. @ 0,18 SAY "   S O R R Y   " COLOR (redblink)
  4483. @ 2, 1 SAY "It was not possible to run a DOS program because:"
  4484. @ 4, 2 SAY "a.  Your computer does not have sufficient memory;"
  4485. @ 6, 2 SAY "b.  The DOS COMMAND.COM program could not be found."
  4486. SHOW WINDOW bugbox
  4487. @ 8,20 SAY "Please contact:"
  4488. PRIVATE m_call, m_title, m_phone
  4489. STORE SPACE(0) TO m_call, m_title, m_phone
  4490. * ========================================
  4491. *$ Get info on appropriate person to call
  4492. * ========================================
  4493. DO developer
  4494. @ 9, 0 SAY PADC(m.m_call, 54)
  4495. @10, 0 SAY PADC(m.m_title, 54)
  4496. @11, 0 SAY PADC(m.m_phone, 54)
  4497. @12,16 SAY "to report this problem."
  4498. DO razberry
  4499. @14, 1 SAY "Press any key to return to " + ;
  4500.     "Main Menu..." COLOR (lowtext)
  4501. = INKEY(0, "MH")
  4502. RELEASE WINDOW bugbox
  4503. CLEAR TYPEAHEAD
  4504. RETURN
  4505. * End procedure NORUN
  4506.  
  4507.  
  4508. *!*****************************************************************************
  4509. *!
  4510. *!      Procedure: BADCHAIN
  4511. *!
  4512. *!      Called by: FP25EROR.PRG                      
  4513. *!
  4514. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  4515. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4516. *!
  4517. *!*****************************************************************************
  4518. PROCEDURE badchain
  4519. ******************************************************************************
  4520. *& Error #1012 - OS memory error
  4521. *
  4522. *   The DOS free memory chain has been scrambled.
  4523. *   The immediate solution is to return to DOS and
  4524. *   restart the application.
  4525. *
  4526. *   If the problem persists and/or is not cured by a
  4527. *   reboot the developer should look to the EMS memory
  4528. *   manager as the probable culprit.
  4529. *
  4530. *   Author: Pat Adams  (718) 469-4032
  4531. *   Date: 8/16/91
  4532. *
  4533. *   Modified 1/6/93 by Pat Adams
  4534. *       Use of color schemes & SYSDATA added
  4535. *
  4536. *   Modified 3/25/93 by Pat Adams
  4537. *       INKEY() pause added
  4538. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4539. DEFINE WINDOW bugbox FROM 5,14 TO 19,66 DOUBLE ;
  4540.     COLOR SCHEME 20 SHADOW
  4541. ACTIVATE SCREEN
  4542. ACTIVATE WINDOW bugbox NOSHOW
  4543. @ 0,15 SAY "   W H O O P S   " COLOR (redblink)
  4544. @ 2, 1 SAY "Something has scrambled your computer's memory."
  4545. @ 3, 1 SAY "You will be returned to DOS and can restart the"
  4546. @ 4, 1 SAY "application.  If the problem persists try turning"
  4547. @ 5, 1 SAY "off the computer and starting it again.  If the"
  4548. @ 6, 1 SAY "problem still persists contact:"
  4549. SHOW WINDOW bugbox
  4550. PRIVATE m_call, m_title, m_phone
  4551. STORE SPACE(0) TO m_call, m_title, m_phone
  4552. * ========================================
  4553. *$ Get info on appropriate person to call
  4554. * ========================================
  4555. DO developer
  4556. @ 8, 0 SAY PADC(m.m_call, 50)
  4557. @ 9, 0 SAY PADC(m.m_title, 50)
  4558. @10, 0 SAY PADC(m.m_phone, 50)
  4559. DO razberry
  4560. @12, 1 SAY "Press any key to return " + ;
  4561.     "to DOS..." COLOR (lowtext)
  4562. =INKEY(0, "MH")
  4563. RELEASE WINDOW bugbox
  4564. CLEAR TYPEAHEAD
  4565. RETURN
  4566. * End procedure BADCHAIN
  4567.  
  4568.  
  4569.  
  4570. *!*****************************************************************************
  4571. *!
  4572. *!      Procedure: KANCEL
  4573. *!
  4574. *!      Called by: LOGVIEW            (procedure in FP25EROR.PRG)
  4575. *!
  4576. *!          Calls: ERORSET            (procedure in FP25EROR.PRG)
  4577. *!
  4578. *!*****************************************************************************
  4579. PROCEDURE kancel
  4580. *******************************************************************************
  4581. *& Cancel program and return to command window
  4582. *
  4583. *   Author: Pat Adams  (718) 469-4032
  4584. *   Date: 8/22/91
  4585. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4586. ON KEY && Null out hot keys
  4587. CLEAR GETS
  4588. CLEAR READ ALL
  4589. CLEAR FIELDS
  4590. CLEAR MACROS
  4591. CLEAR WINDOWS
  4592. DEACTIVATE MENUS
  4593. CLEAR MENUS
  4594. DEACTIVATE POPUPS
  4595. CLEAR POPUPS
  4596. CLEAR PROMPT
  4597. SET REFRESH TO 0, 200
  4598. SET DEVICE TO SCREEN
  4599. CLOSE DATA
  4600. DO erorset
  4601. SET LIBRARY TO
  4602. * ================================================
  4603. * NOTE: Turn on/off the CLOSE PROCEDURE statement
  4604. * to suit your particular application
  4605. * ================================================
  4606. *CLOSE PROCEDURE
  4607. CLEAR MEMORY
  4608. PUBLIC testing
  4609. STORE .T. TO testing
  4610. CANCEL
  4611. * End procedure KANCEL
  4612.  
  4613.  
  4614.  
  4615. *!*****************************************************************************
  4616. *!
  4617. *!      Procedure: LOW_MEM
  4618. *!
  4619. *!      Called by: FP25EROR.PRG                      
  4620. *!
  4621. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4622. *!
  4623. *!*****************************************************************************
  4624. PROCEDURE low_mem
  4625. *******************************************************************************
  4626. *& Error # 1282 Insufficient memory
  4627. *
  4628. *& Error #43 - Insufficient memory
  4629. *
  4630. *& Error #809 & #1809 - SQL out of memory
  4631. *
  4632. *& Error #845 & #1845 - SQL expression too complex
  4633. *               FoxPro ran out of memory when it
  4634. *               tried to expand the SELECT
  4635. *               statement to analyze it
  4636. *
  4637. *& Error #1149 - No memory for buffer
  4638. *
  4639. *& Error #1150 - No memory for file map
  4640. *
  4641. *& Error #1151 - No memory for file name
  4642. *
  4643. *& Error #1600 - Not enough memory to USE database
  4644. *
  4645. *   User will be returned to Main Menu
  4646. *
  4647. *   Close all windows and databases,
  4648. *   inform user of problem and then
  4649. *   return to the master module
  4650. *
  4651. *   NOTE: Often issuing the command:
  4652. *
  4653. *      SET LIBRARY TO
  4654. *
  4655. *   even if no .PLB libraries are loaded, will
  4656. *   reorganize fragmented memory and help resolve
  4657. *   the problem.  Issuing a SYS(12) may also help.
  4658. *
  4659. *   Author: Pat Adams, DB Unlimited
  4660. *   Date: 8/6/91
  4661. *
  4662. *   Modified: 10/1/92 by Pat Adams
  4663. *       If any of these errors triggered FP25EROR
  4664. *       this module is called before any other
  4665. *       routines or initialization of additional
  4666. *       memory variables.
  4667. *
  4668. *   Modified: 1/4/93 by Pat Adams
  4669. *       Additional errors for low memory conditions
  4670. *       in FoxPro 2.5 added. Use of color schemes
  4671. *       & SYSDATA added
  4672. *
  4673. *    Modified 4/3/93 by Pat Adams
  4674. *       Colors hard coded because memvars not
  4675. *       established at calling level due to low
  4676. *       memory conditions.
  4677. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4678. DO razberry
  4679. CLEAR WINDOWS
  4680. CLOSE DATA
  4681. * ===========================================
  4682. * NOTE: Depending upon your application,
  4683. *       simply clearing all windows and
  4684. *       closing databases may not
  4685. *       be sufficient.  You may also need
  4686. *       to release popups or menus first
  4687. * =========================================
  4688. DEFINE WINDOW bugbox FROM 5,20 TO 18,59 DOUBLE ;
  4689.     COLOR N/W, N/W, +*R/W
  4690. * =======================================
  4691. * Memvars for color schemes have not
  4692. * been initialized therefore hard coding
  4693. * of colors is required here
  4694. * =======================================
  4695. ACTIVATE SCREEN
  4696. ACTIVATE WINDOW bugbox NOSHOW
  4697. @ 0,10 SAY "   S O R R Y   " COLOR +*R/W
  4698. @ 2, 1 SAY "You do not have enough conventional"
  4699. @ 3, 1 SAY "DOS memory to continue at this point."
  4700. @ 4, 1 SAY "You will need to reconfigure your"
  4701. @ 5, 1 SAY "computer to make more memory below"
  4702. @ 6, 1 SAY "640k available."
  4703. @ 8, 1 SAY "All databases will be closed and you"
  4704. @ 9, 1 SAY "will be returned to the main menu."
  4705. @11, 1 SAY "Press any key to continue..." COLOR +N/W
  4706. SHOW WINDOW bugbox
  4707. =INKEY(0, "MH")
  4708. RELEASE WINDOW bugbox
  4709. CLEAR TYPEAHEAD
  4710. RETURN
  4711. * End procedure LOW_MEM
  4712.  
  4713.  
  4714. *!*****************************************************************************
  4715. *!
  4716. *!      Procedure: XLOW_MEM
  4717. *!
  4718. *!      Called by: FP25EROR.PRG                      
  4719. *!
  4720. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4721. *!
  4722. *!*****************************************************************************
  4723. PROCEDURE xlow_mem
  4724. *******************************************************************************
  4725. *& Error # 1282 Insufficient memory
  4726. *
  4727. *& Error #43 - Insufficient memory
  4728. *
  4729. *& Error #809 & #1809 - SQL out of memory
  4730. *
  4731. *& Error #845 & #1845 - SQL expression too complex
  4732. *               FoxPro ran out of memory when it
  4733. *               tried to expand the SELECT
  4734. *               statement to analyze it
  4735. *
  4736. *& Error #1149 - No memory for buffer
  4737. *
  4738. *& Error #1150 - No memory for file map
  4739. *
  4740. *& Error #1151 - No memory for file name
  4741. *
  4742. *& Error #1600 - Not enough memory to USE database
  4743. *
  4744. *   User will be returned to Main Menu
  4745. *
  4746. *   Close all windows and databases,
  4747. *   inform user of problem and then
  4748. *   return to the master module
  4749. *
  4750. *   This procedure is called if using the
  4751. *   Extended Edition of FoxPro 2.5 DOS.  Colors
  4752. *   are hard coded because memvars for colors
  4753. *   can not be initialized at the calling level.
  4754. *
  4755. *   NOTE: Often issuing the command:
  4756. *
  4757. *      SET LIBRARY TO
  4758. *
  4759. *   even if no .PLB libraries are loaded, will
  4760. *   reorganize fragmented memory and help resolve
  4761. *   the problem.  Issuing a SYS(12) may also help.
  4762. *
  4763. *   Author: Pat Adams, DB Unlimited
  4764. *   Date: 4/6/93
  4765. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4766. CLEAR WINDOWS
  4767. CLOSE DATA
  4768. * ===========================================
  4769. * NOTE: Depending upon your application,
  4770. *       simply clearing all windows and
  4771. *       closing databases may not
  4772. *       be sufficient.  You may also need
  4773. *       to release popups or menus first
  4774. * =========================================
  4775. DEFINE WINDOW bugbox FROM 3,10 TO 22,69 DOUBLE ;
  4776.     COLOR SCHEME 20 SHADOW
  4777. ACTIVATE SCREEN
  4778. ACTIVATE WINDOW bugbox
  4779. @ 0,19 SAY "   S O R R Y !  " COLOR R+*/W
  4780. @ 2, 1 SAY "You do not have enough memory to continue at this point."
  4781. @ 3, 1 SAY "There may be a number of different causes.  You may need"
  4782. @ 4, 1 SAY "to reconfigure your computer so more conventional DOS"
  4783. @ 5, 1 SAY "memory below 640k is available.  It's also possible that"
  4784. @ 6, 1 SAY "you do not have enough extended memory available.  Your"
  4785. @ 7, 1 SAY "computer should have at least 4 mb. of memory in total"
  4786. @ 8, 1 SAY "to run this application and you need at least 2.5 mb. of"
  4787. @ 9, 1 SAY "AVAILABLE extended memory before you start this applica-"
  4788. @10, 1 SAY "tion.  You can use the DOS MEM.EXE (MEM /C) to check"
  4789. @11, 1 SAY "your memory.  If you have a large disk cache, such as"
  4790. @12, 1 SAY "SMARTDRV, running decrease it to 256k or 512k."
  4791. @14, 1 SAY "All databases will be closed and you will be returned to"
  4792. @15, 1 SAY "the main menu."
  4793. @17, 1 SAY "Press any key to continue..." COLOR (lowtext)
  4794. DO razberry
  4795. =INKEY(0, "MH")
  4796. RELEASE WINDOW bugbox
  4797. RETURN
  4798. * End procedure XLOW_MEM
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804. *!*****************************************************************************
  4805. *!
  4806. *!      Procedure: NOTFOXEXE
  4807. *!
  4808. *!      Called by: FP25EROR.PRG                      
  4809. *!
  4810. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  4811. *!
  4812. *!*****************************************************************************
  4813. PROCEDURE notfoxexe
  4814. *******************************************************************************
  4815. *& Error # 1196 - <file> is not a FoxPro .EXE file
  4816. *
  4817. *   This error would occur only when attempting to
  4818. *   DO an .EXE from the interactive version of FoxPro.
  4819. *
  4820. *   Routine assumes memvar named XMSG which contains
  4821. *   the contents of the error message has been
  4822. *   initialized at a higher level
  4823. *
  4824. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  4825. *   Date: 1/7/93
  4826. * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4827. PRIVATE the_exe, postn
  4828. STORE AT(".EXE", xmsg) TO postn
  4829. the_exe = LEFT(xmsg, postn + 4)
  4830. DEFINE WINDOW bugbox FROM 7,20 TO 16,59 DOUBLE ;
  4831.     COLOR SCHEME 20 SHADOW
  4832. ACTIVATE SCREEN
  4833. ACTIVATE WINDOW bugbox
  4834. @ 0, 1 SAY "The file you are attempting to DO"
  4835. @ 1, 0 SAY PADC("&THE_EXE", 38)
  4836. @ 2, 1 SAY "is either not a FoxPro compiled file"
  4837. @ 3, 1 SAY "or has been compiled with a different"
  4838. @ 4, 1 SAY "version of FoxPro."
  4839. @ 6, 1 SAY "Press any key to return" COLOR (lowtext)
  4840. @ 7, 1 SAY "to the command window..." COLOR (lowtext)
  4841. SHOW WINDOW bugbox
  4842. DO razberry
  4843. =INKEY(0, "MH")
  4844. RELEASE WINDOW bugbox
  4845. RETURN
  4846. * End procedure NOTFOXEXE
  4847.  
  4848.  
  4849.  
  4850. *!*****************************************************************************
  4851. *!
  4852. *!      Procedure: BAD_RESRC
  4853. *!
  4854. *!      Called by: FP25EROR.PRG                      
  4855. *!
  4856. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  4857. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  4858. *!
  4859. *!*****************************************************************************
  4860. PROCEDURE bad_resrc
  4861. *******************************************************************************
  4862. *& Error # 1294 - FOXUSER file is invalid
  4863. *
  4864. *   NOTE: You may want to change this message if
  4865. *         users are working interactively with
  4866. *         FoxPro
  4867. *
  4868. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  4869. *   Date: 1/7/93
  4870. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4871. PRIVATE userfile, m_call, m_title, m_phone
  4872. STORE SPACE(0) TO m_call, m_title, m_phone
  4873. * ========================================
  4874. *$ Get info on appropriate person to call
  4875. * ========================================
  4876. DO developer
  4877. STORE SYS(2005) TO userfile
  4878. DEFINE WINDOW bugbox FROM 5,15 TO 17,64 DOUBLE ;
  4879.     COLOR SCHEME 20 SHADOW
  4880. ACTIVATE SCREEN
  4881. ACTIVATE WINDOW bugbox NOSHOW
  4882. @ 0,12 SAY "   B A D  N E W S   " COLOR (redblink)
  4883. @ 2, 1 SAY "Your resource file, &userfile,"
  4884. @ 3, 1 SAY "has been corrupted.  Please reinstall the file."
  4885. @ 5, 1 SAY "If you do not know how to do this contact:"
  4886. @ 6, 0 SAY PADC(m.m_call, 47)
  4887. @ 7, 0 SAY PADC(m.m_title, 47)
  4888. @ 8, 0 SAY PADC(m.m_phone, 47)
  4889. @10, 1 SAY "Press any key to quit to DOS..." COLOR (lowtext)
  4890. SHOW WINDOW bugbox
  4891. DO razberry
  4892. = INKEY(0, "MH")
  4893. RELEASE WINDOW bugbox
  4894. RETURN
  4895. * End procedure BAS_RESRC
  4896.  
  4897.  
  4898. *!*****************************************************************************
  4899. *!
  4900. *!      Procedure: DEVELOPER
  4901. *!
  4902. *!      Called by: UPMVCOUNT          (procedure in FP25EROR.PRG)
  4903. *!               : TOOBIG             (procedure in FP25EROR.PRG)
  4904. *!               : BAD_RPT            (procedure in FP25EROR.PRG)
  4905. *!               : BADMEMFL           (procedure in FP25EROR.PRG)
  4906. *!               : READONLY           (procedure in FP25EROR.PRG)
  4907. *!               : SQL_INTL           (procedure in FP25EROR.PRG)
  4908. *!               : SQLTRASH           (procedure in FP25EROR.PRG)
  4909. *!               : NOSQLIDX           (procedure in FP25EROR.PRG)
  4910. *!               : MEM_PROB           (procedure in FP25EROR.PRG)
  4911. *!               : KODEKORUP          (procedure in FP25EROR.PRG)
  4912. *!               : BADCHAIN           (procedure in FP25EROR.PRG)
  4913. *!               : BAD_API            (procedure in FP25EROR.PRG)
  4914. *!               : BADCLOSE           (procedure in FP25EROR.PRG)
  4915. *!               : BAD_OBJ            (procedure in FP25EROR.PRG)
  4916. *!               : BAD_RESRC          (procedure in FP25EROR.PRG)
  4917. *!               : NORUN              (procedure in FP25EROR.PRG)
  4918. *!               : NOAPI              (procedure in FP25EROR.PRG)
  4919. *!               : NO_PLB             (procedure in FP25EROR.PRG)
  4920. *!               : PROGBUG            (procedure in FP25EROR.PRG)
  4921. *!
  4922. *!           Uses: SYSDATA.DBF        
  4923. *!
  4924. *!*****************************************************************************
  4925. PROCEDURE developer
  4926. *******************************************************************************
  4927. *& Get info on Developer from SYSDATA database.
  4928. *
  4929. *   This module assumes that memory variables
  4930. *   M_CALL, M_TITLE and M_PHONE have been
  4931. *   initialized at the calling level.
  4932. *
  4933. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  4934. *   Date: 12/30/92
  4935. * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4936. IF ! USED("SYSDATA")
  4937.     SELECT 0
  4938.     USE sysdata NOUPDATE
  4939. ELSE
  4940.     SELECT sysdata
  4941. ENDIF (! USED("SYSDATA"))
  4942. * ========================================
  4943. *$ Get info on appropriate person to call
  4944. * ========================================
  4945. LOCATE FOR ALLTRIM(sysdata.title) == "DEVELOPER"
  4946. STORE ALLTRIM(sysdata.call_who) TO m_call
  4947. STORE ALLTRIM(sysdata.other) TO m_title
  4948. STORE ALLTRIM(sysdata.phone) TO m_phone
  4949. USE
  4950. RETURN
  4951. * End procedure DEVELOPER
  4952.  
  4953.  
  4954. *!*****************************************************************************
  4955. *!
  4956. *!      Procedure: LAN_ADMIN
  4957. *!
  4958. *!      Called by: NO_FILE            (procedure in FP25EROR.PRG)
  4959. *!               : LOWFILES           (procedure in FP25EROR.PRG)
  4960. *!               : LREADONLY          (procedure in FP25EROR.PRG)
  4961. *!               : INVALPRN           (procedure in FP25EROR.PRG)
  4962. *!               : IO_FAILED          (procedure in FP25EROR.PRG)
  4963. *!               : MEM_PROB           (procedure in FP25EROR.PRG)
  4964. *!               : KODEKORUP          (procedure in FP25EROR.PRG)
  4965. *!               : NOCREAT            (procedure in FP25EROR.PRG)
  4966. *!               : READ_ERR           (procedure in FP25EROR.PRG)
  4967. *!               : RITE_ERR           (procedure in FP25EROR.PRG)
  4968. *!               : BADCLOSE           (procedure in FP25EROR.PRG)
  4969. *!               : DNOACCES           (procedure in FP25EROR.PRG)
  4970. *!               : NOACCESS           (procedure in FP25EROR.PRG)
  4971. *!               : NOPSERVER          (procedure in FP25EROR.PRG)
  4972. *!               : NO_QUE             (procedure in FP25EROR.PRG)
  4973. *!
  4974. *!           Uses: SYSDATA.DBF        
  4975. *!
  4976. *!*****************************************************************************
  4977. PROCEDURE lan_admin
  4978. *******************************************************************************
  4979. *& Get info on LAN ADMINISTRATOR from SYSDATA database
  4980. *& or if stand-alone system APP ADMINISTRATOR
  4981. *
  4982. *   This module assumes that memory variables
  4983. *   M_CALL, M_TITLE and M_PHONE have been
  4984. *   initialized at the calling level.
  4985. *
  4986. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  4987. *   Date: 12/30/92
  4988. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4989. IF ! USED("SYSDATA")
  4990.     SELECT 0
  4991.     USE sysdata NOUPDATE
  4992. ELSE
  4993.     SELECT sysdata
  4994. ENDIF (! USED("SYSDATA"))
  4995. * ========================================
  4996. *$ Get info on appropriate person to call
  4997. * ========================================
  4998. IF sysdata.multi_user
  4999.     LOCATE FOR ALLTRIM(sysdata.title) == "LAN ADMINISTRATOR"
  5000. ELSE
  5001.     LOCATE FOR ALLTRIM(sysdata.title) == "APP ADMINISTRATOR"
  5002. ENDIF (sysdata.multi_user)
  5003.  
  5004. STORE ALLTRIM(sysdata.call_who) TO m_call
  5005. STORE ALLTRIM(sysdata.other) TO m_title
  5006. STORE ALLTRIM(sysdata.phone) TO m_phone
  5007. USE
  5008. RETURN
  5009. * End procedure LAN_ADMIN
  5010.  
  5011.  
  5012. *!*****************************************************************************
  5013. *!
  5014. *!      Procedure: APP_ADMIN
  5015. *!
  5016. *!      Called by: TOO_HIGH           (procedure in FP25EROR.PRG)
  5017. *!               : REALBAD            (procedure in FP25EROR.PRG)
  5018. *!               : INDEX_ER           (procedure in FP25EROR.PRG)
  5019. *!               : NOMEMO             (procedure in FP25EROR.PRG)
  5020. *!               : KORRUPT            (procedure in FP25EROR.PRG)
  5021. *!               : BAD_DIF            (procedure in FP25EROR.PRG)
  5022. *!               : BAD_SYLK           (procedure in FP25EROR.PRG)
  5023. *!               : NOTRIGHT           (procedure in FP25EROR.PRG)
  5024. *!               : BADLOTUS           (procedure in FP25EROR.PRG)
  5025. *!               : BAD_WIN            (procedure in FP25EROR.PRG)
  5026. *!               : PKORRUPT           (procedure in FP25EROR.PRG)
  5027. *!               : BADEXCEL           (procedure in FP25EROR.PRG)
  5028. *!               : BADSYMPH           (procedure in FP25EROR.PRG)
  5029. *!               : NO_CDX             (procedure in FP25EROR.PRG)
  5030. *!               : NO_QUE             (procedure in FP25EROR.PRG)
  5031. *!               : NOSQLOPEN          (procedure in FP25EROR.PRG)
  5032. *!
  5033. *!           Uses: SYSDATA.DBF        
  5034. *!
  5035. *!*****************************************************************************
  5036. PROCEDURE app_admin
  5037. *******************************************************************************
  5038. *& Get info on APP ADMINISTRATOR from SYSDATA database
  5039. *
  5040. *   This module assumes that memory variables
  5041. *   M_CALL, M_TITLE and M_PHONE have been
  5042. *   initialized at the calling level.
  5043. *
  5044. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5045. *   Date: 12/30/92
  5046. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5047. IF ! USED("SYSDATA")
  5048.     SELECT 0
  5049.     USE sysdata NOUPDATE
  5050. ELSE
  5051.     SELECT sysdata
  5052. ENDIF (! USED("SYSDATA"))
  5053. * ========================================
  5054. *$ Get info on appropriate person to call
  5055. * ========================================
  5056. LOCATE FOR ALLTRIM(sysdata.title) == "APP ADMINISTRATOR"
  5057. STORE ALLTRIM(sysdata.call_who) TO m_call
  5058. STORE ALLTRIM(sysdata.other) TO m_title
  5059. STORE ALLTRIM(sysdata.phone) TO m_phone
  5060. USE
  5061. RETURN
  5062. * End procedure APP_ADMIN
  5063.  
  5064.  
  5065.  
  5066. *!*****************************************************************************
  5067. *!
  5068. *!      Procedure: DNOACCES
  5069. *!
  5070. *!      Called by: FP25EROR.PRG                      
  5071. *!
  5072. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5073. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5074. *!               : YES_NO             (procedure in FP25EROR.PRG)
  5075. *!
  5076. *!*****************************************************************************
  5077. PROCEDURE dnoacces
  5078. *******************************************************************************
  5079. * This routine is called if running on a DOS based LAN
  5080. *
  5081. *& #1705 - File access denied
  5082. *      An attempt was made to write to a file that is
  5083. *      write protected by the DOS ATTRIB command.
  5084. *
  5085. *  DOS-based LANs:
  5086. *  #1705 File is in [exclusive] use by another.
  5087. *
  5088. *      Error #3 should be returned if a file is in exclusive
  5089. *      use by someone else, however, DOS based LANs that utilize
  5090. *      DOS SHARE such as InvisibleNet and LANtastic erroneously
  5091. *      return error 1705. This also occurs with Novell's Netware
  5092. *      Lite because it utilizes SHARE.  The problem does not
  5093. *      lie with FoxPro but, rather, with SHARE.
  5094. *
  5095. *      If you are using a DOS based LAN and get frequent recurrence
  5096. *      of error # 1705 and you are sure users have the correct LAN
  5097. *      rights this may be the culprit.
  5098. *
  5099. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5100. *   Date: 1/4/93
  5101. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5102. PARAMETERS tryagain
  5103. DEFINE WINDOW bugbox FROM  2,7 TO 20,73 DOUBLE ;
  5104.     COLOR SCHEME 20 SHADOW
  5105. ACTIVATE SCREEN
  5106. ACTIVATE WINDOW bugbox NOSHOW
  5107. @ 0,21 SAY "   W H O O P S !  " COLOR (redblink)
  5108. @ 2, 1 SAY "One of two problems may have occurred:"
  5109. @ 4, 4 SAY "1.  You are attempting to write to a " + ;
  5110.     "file that has been made"
  5111. @ 5, 8 SAY "read-only with the DOS ATTRIB command;"
  5112. @ 7, 4 SAY "2.  Someone else may have had exclusive " + ;
  5113.     "use of the file you"
  5114. @ 8, 8 SAY "need.  If so, it may be free now."
  5115. @10, 2 SAY "You can retry for use of " + ;
  5116.     "the file.  However, if this message"
  5117. @11, 2 SAY "continues to reappear do not " + ;
  5118.     "continue to retry. Instead call:"
  5119. PRIVATE m_call, m_title, m_phone
  5120. STORE SPACE(0) TO m_call, m_title, m_phone
  5121. * ========================================
  5122. *$ Get info on appropriate person to call
  5123. * ========================================
  5124. DO lan_admin
  5125. @12, 0 SAY PADC(m.m_call, 64)
  5126. @13, 0 SAY PADC(m.m_title,64)
  5127. @14, 0 SAY PADC(m.m_phone, 64)
  5128. @16,19 SAY "DO YOU WANT TO RETRY? (Y/N)"
  5129. SHOW WINDOW bugbox
  5130. DO razberry
  5131. DO yes_no WITH tryagain
  5132. RELEASE WINDOW bugbox
  5133. CLEAR TYPEAHEAD
  5134. RETURN tryagain
  5135. * End procedure DNOACCES
  5136.  
  5137.  
  5138.  
  5139. *!*****************************************************************************
  5140. *!
  5141. *!      Procedure: NOACCESS
  5142. *!
  5143. *!      Called by: FP25EROR.PRG                      
  5144. *!
  5145. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5146. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5147. *!
  5148. *!*****************************************************************************
  5149. PROCEDURE noaccess
  5150. *******************************************************************************
  5151. *
  5152. *   This routine is only called if SYSDATA indicates user
  5153. *   is running in a LAN environment and the LAN is not a
  5154. *   DOS based LAN such as InvisibleNET, LANtastic, or
  5155. *   Novell Netware Lite.
  5156. *
  5157. *$ #1705 - File access denied
  5158. *
  5159. *  Attempt has been made to write to a file that is
  5160. *  read only.  This may arise for several reasons:
  5161. *
  5162. *      1.  File is protected by the DOS
  5163. *          ATTRIB command as read only
  5164. *
  5165. *      2.  User rights have not been
  5166. *          configured properly for this
  5167. *          users LAN access.  Note that
  5168. *          a .DBF file may be opened  (for purposes
  5169. *          of reading or copying the file) with
  5170. *          read only rights on a LAN but
  5171. *          index files require both read and
  5172. *          write rights.
  5173. *
  5174. *   Author: Pat Adams, DB Unlimited
  5175. *   Date: 8/5/91
  5176. *
  5177. *   Modified 1/4/93 by Pat Adams
  5178. *       Module changed to respond only to error
  5179. *       #1705 when it occurs on a non_DOS LAN
  5180. *       such as Novell 286/386, Banyan, etc.
  5181. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5182. ACTIVATE SCREEN
  5183. DEFINE WINDOW bugbox FROM 3,18 TO 19,61 DOUBLE ;
  5184.     COLOR N/W,N/W,R+*/W SHADOW
  5185. ACTIVATE WINDOW bugbox NOSHOW
  5186. @ 0,10 SAY "   W H O O P S   " COLOR (redblink)
  5187. @ 2, 1 SAY "One of two problems has occurred. Either"
  5188. @ 3, 1 SAY "you do not have the appropriate user"
  5189. @ 4, 1 SAY "rights on the LAN or the file you need"
  5190. @ 5, 1 SAY "has inadvertently been flagged as read"
  5191. @ 6, 1 SAY "only."
  5192. SHOW WINDOW bugbox
  5193. PRIVATE m_call, m_title, m_phone
  5194. STORE SPACE(0) TO m_call, m_title, m_phone
  5195. * ========================================
  5196. *$ Get info on appropriate person to call
  5197. * ========================================
  5198. DO lan_admin
  5199. @ 8,14 SAY "Please call "
  5200. @ 9,0 SAY PADC(m.m_call, 42)
  5201. @ 10,0 SAY PADC(m.m_title, 42)
  5202. @ 11,0 SAY PADC(m.m_phone, 42)
  5203. @ 12,10 SAY "to report the problem."
  5204. DO razberry
  5205. @14,1 SAY "Press any key to return to " + ;
  5206.     "Main Menu..." COLOR (lowtext)
  5207. = INKEY(0, "MH")
  5208. CLEAR TYPEAHEAD
  5209. RELEASE WINDOW bugbox
  5210. RETURN
  5211. *End procedure NOACCESS
  5212.  
  5213.  
  5214.  
  5215.  
  5216. *!*****************************************************************************
  5217. *!
  5218. *!      Procedure: SNOACCES
  5219. *!
  5220. *!      Called by: FP25EROR.PRG                      
  5221. *!
  5222. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  5223. *!
  5224. *!*****************************************************************************
  5225. PROCEDURE snoacces
  5226. *******************************************************************************
  5227. *& Error #1705 - File access denied
  5228. *
  5229. *  Attempt has been made to write to a file that is
  5230. *  read only.   File is protected by the DOS
  5231. *  ATTRIB command as read only.
  5232. *
  5233. *  This module is called if user is working
  5234. *  in stand-alone mode.
  5235. *
  5236. *  Author: Pat Adams, DB Unlimited  (718) 469-4032
  5237. *  Date: 1/4/93
  5238. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5239. DEFINE WINDOW bugbox FROM  8,15 TO 17,64 DOUBLE ;
  5240.     COLOR SCHEME 20 SHADOW
  5241. ACTIVATE SCREEN
  5242. ACTIVATE WINDOW bugbox NOSHOW
  5243. @ 0,13 SAY "   W H O O P S !  " COLOR (redblink)
  5244. @ 2, 1 SAY "You are attempting to write to a file that"
  5245. @ 3, 1 SAY "is read only or to a file on a write protected"
  5246. @ 4, 1 SAY "floppy disk."
  5247. @ 6, 1 SAY "Press any key to" COLOR (lowtext)
  5248. @ 7, 1 SAY "return to the Main Menu..." COLOR (lowtext)
  5249. SHOW WINDOW bugbox
  5250. DO razberry
  5251. =INKEY(0, "MH")
  5252. RELEASE WINDOW bugbox
  5253. CLEAR TYPEAHEAD
  5254. RETURN
  5255. * End procedure SNOACCES
  5256.  
  5257.  
  5258.  
  5259. *!*****************************************************************************
  5260. *!
  5261. *!      Procedure: NOSQLOPEN
  5262. *!
  5263. *!      Called by: FP25EROR.PRG                      
  5264. *!
  5265. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  5266. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5267. *!
  5268. *!*****************************************************************************
  5269. PROCEDURE nosqlopen
  5270. *******************************************************************************
  5271. *
  5272. *& #823 - SQL open of file failed
  5273. *& #1823 - SQL open of file failed
  5274. *
  5275. *   Error # 823 or # 1823 is generated when a SQL open of a
  5276. *   specified file fails.
  5277. *
  5278. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5279. *   Date: 1/4/93
  5280. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5281. DEFINE WINDOW bugbox FROM  6,19 TO 19,60 DOUBLE ;
  5282.     COLOR SCHEME 20 SHADOW
  5283. ACTIVATE SCREEN
  5284. ACTIVATE WINDOW bugbox NOSHOW
  5285. @ 0,10 SAY "   S O R R Y !  " COLOR (redblink)
  5286. @ 2, 1 SAY "Unable to open the required SQL table."
  5287. @ 4, 1 SAY "Please call:"
  5288. PRIVATE m_call, m_title, m_phone
  5289. STORE SPACE(0) TO m_call, m_title, m_phone
  5290. * ========================================
  5291. *$ Get info on appropriate person to call
  5292. * ========================================
  5293. DO app_admin
  5294. @ 5,0 SAY PADC(m.m_call, 39)
  5295. @ 6,0 SAY PADC(m.m_title, 39)
  5296. @ 7,0 SAY PADC(m.m_phone, 39)
  5297. @ 8, 1 SAY "to report the problem."
  5298. @10, 1 SAY "Press any key to" COLOR (lowtext)
  5299. @11, 1 SAY "return to Main Menu..." COLOR (lowtext)
  5300. SHOW WINDOW bugbox
  5301. DO razberry
  5302. = INKEY(0, "MH")
  5303. RELEASE WINDOW bugbox
  5304. CLEAR TYPEAHEAD
  5305. RETURN
  5306. * End procedure NOSQLOPEN
  5307.  
  5308.  
  5309.  
  5310. *!*****************************************************************************
  5311. *!
  5312. *!      Procedure: UPMVCOUNT
  5313. *!
  5314. *!      Called by: FP25EROR.PRG                      
  5315. *!
  5316. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  5317. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5318. *!
  5319. *!*****************************************************************************
  5320. PROCEDURE upmvcount
  5321. *******************************************************************************
  5322. *& #21 -  String memory variable area overflow
  5323. *& #22 -  Too many memory variables
  5324. *
  5325. *  The MVCOUNT statement in the
  5326. *  CONFIG.FP file needs to be increased.
  5327. *  Advise user & return to Main Menu
  5328. *
  5329. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5330. *   Date: 1/4/93
  5331. *
  5332. *   Modified 3/25/93 by Pat Adams
  5333. *       Colors hard coded.  Since a CLEAR MEMORY
  5334. *       is issued the memvars for colors can not
  5335. *       be utilized here.  Correction made to typo
  5336. *       in name of the M_CALL memvar.
  5337. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5338. CLOSE DATA
  5339. CLEAR MEMORY
  5340. DEFINE WINDOW bugbox FROM 5,17 TO 18,63 DOUBLE ;
  5341.     COLOR SCHEME 20 SHADOW
  5342. ACTIVATE SCREEN
  5343. ACTIVATE WINDOW bugbox NOSHOW
  5344. @ 0, 0 SAY PADC("  W H O O P S !  ",44) COLOR +*R/W
  5345. @ 2, 1 SAY "We've run out of space for memory variables."
  5346. @ 3, 1 SAY "The MVCOUNT statement in your CONFIG.FP"
  5347. @ 4, 1 SAY "file needs to be increased.  If you don't"
  5348. @ 5, 1 SAY "know what this means please call:"
  5349. PRIVATE m_call, m_title, m_phone
  5350. STORE SPACE(0) TO m_call, m_title, m_phone
  5351. * ========================================
  5352. *$ Get info on appropriate person to call
  5353. * ========================================
  5354. DO developer
  5355. @ 7, 0 SAY PADC(m.m_call, 44)
  5356. @ 8, 0 SAY PADC(m.m_title, 44)
  5357. @ 9, 0 SAY PADC(m.m_phone, 44)
  5358. @11, 1 SAY "Press any key to return " + ;
  5359.     "to Main Menu..." COLOR +N/W
  5360. SHOW WINDOW bugbox
  5361. DO razberry
  5362. =INKEY(0, "MH")
  5363. RELEASE WINDOW bugbox
  5364. CLEAR TYPEAHEAD
  5365. RETURN
  5366. * End procedure UPMVCOUNT
  5367.  
  5368.  
  5369.  
  5370. *!*****************************************************************************
  5371. *!
  5372. *!      Procedure: TOOBIG
  5373. *!
  5374. *!      Called by: FP25EROR.PRG                      
  5375. *!
  5376. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  5377. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5378. *!
  5379. *!*****************************************************************************
  5380. PROCEDURE toobig
  5381. *******************************************************************************
  5382. *& Error # 39 - Numeric overflow (data was lost)
  5383. *
  5384. *   A methematical operation resulted in a number that
  5385. *   was too large to be stored in the field or memvar
  5386. *   in which it was supposed to be placed.
  5387. *
  5388. *   Inform user info was lost, have them call the
  5389. *   developer/programmer and return to main menu.
  5390. *
  5391. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5392. *   Date: 1/4/93
  5393. *
  5394. *   Modified 3/25/93 by Pat Adams
  5395. *       Typo in name of M_CALL memvar corrected
  5396. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5397. DEFINE WINDOW bugbox FROM  6,17 TO 19,62 ;
  5398.     DOUBLE COLOR SCHEME 20 SHADOW
  5399. ACTIVATE SCREEN
  5400. ACTIVATE WINDOW bugbox NOSHOW
  5401. @ 0,13 SAY "   BAD NEWS!   " COLOR (redblink)
  5402. @ 2, 1 SAY "The number being calculated was too large."
  5403. @ 3, 1 SAY "The information has been lost."
  5404. @ 5, 1 SAY "Please contact:"
  5405. PRIVATE m_call, m_title, m_phone
  5406. STORE SPACE(0) TO m_call, m_title, m_phone
  5407. * ========================================
  5408. *$ Get info on appropriate person to call
  5409. * ========================================
  5410. DO developer
  5411. @ 6, 0 SAY PADC(m.m_call, 43)
  5412. @ 7, 0 SAY PADC(m.m_title, 43)
  5413. @ 8, 0 SAY PADC(m.m_phone, 43)
  5414. @ 9, 1 SAY "to report the problem."
  5415. @11, 1 SAY "Press any key to return " + ;
  5416.     "to the Main Menu..." COLOR (lowtext)
  5417. SHOW WINDOW bugbox
  5418. DO razberry
  5419. = INKEY(0, "MH")
  5420. RELEASE WINDOW bugbox
  5421. CLEAR TYPEAHEAD
  5422. RETURN
  5423. * End procedure TOOBIG
  5424.  
  5425.  
  5426.  
  5427. *!*****************************************************************************
  5428. *!
  5429. *!      Procedure: LREADONLY
  5430. *!
  5431. *!      Called by: FP25EROR.PRG                      
  5432. *!
  5433. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5434. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5435. *!
  5436. *!*****************************************************************************
  5437. PROCEDURE lreadonly
  5438. *******************************************************************************
  5439. *   This routine is called if the SYSDATA file shows
  5440. *   user is working in a LAN environment.
  5441. *
  5442. *&Error #111 -  Attempt was made to write to a read-only file
  5443. *
  5444. *   The most likely cause of this is attempting to
  5445. *   write to a file created as read-only or accessed
  5446. *   as read-only under program control.  User is in-
  5447. *   structed to call the developer because it is probably
  5448. *   a programming error.
  5449. *
  5450. *& #1718 - File is read only
  5451. *
  5452. *     1.  An attempt was made to write to a file whose
  5453. *         attribute is read only.  If the file is located
  5454. *         on a floppy disk the floppy may be write protected.
  5455. *
  5456. *     2.  User rights have not been
  5457. *         configured properly for this
  5458. *         users LAN access.  Note that
  5459. *         a .DBF file may be opened  (for purposes
  5460. *         of reading or copying the file) with
  5461. *         read only rights on a LAN but
  5462. *         index files require both read and
  5463. *         write rights.
  5464. *
  5465. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5466. *   Date: 1/4/93
  5467. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5468. DEFINE WINDOW bugbox FROM 2,10 TO 22,69 DOUBLE ;
  5469.     COLOR SCHEME 20 SHADOW
  5470. ACTIVATE SCREEN
  5471. ACTIVATE WINDOW bugbox NOSHOW
  5472. @ 0,20 SAY "  W H O O P S  " COLOR (redblink)
  5473. @ 2, 1 SAY "It's not possible to save your " + ;
  5474.     "information to the file."
  5475. @ 3, 1 SAY "One of several problems may be " + ;
  5476.     "causing this:"
  5477. @ 5, 4 SAY "1.  You are attempting to save " + ;
  5478.     "information to a file"
  5479. @ 6, 8 SAY "on a floppy disk that has been " + ;
  5480.     "write protected."
  5481. @ 8, 4 SAY "2.  The file is read only."
  5482. @10, 4 SAY "3.  You do not have correct " + ;
  5483.     "user rights on the LAN."
  5484. @12, 1 SAY "If #1 does not apply please contact:"
  5485. PRIVATE m_call, m_title, m_phone
  5486. STORE SPACE(0) TO m_call, m_title, m_phone
  5487. * ========================================
  5488. *$ Get info on appropriate person to call
  5489. * ========================================
  5490. DO lan_admin
  5491. @13, 0 SAY PADC(m.m_call, 57)
  5492. @14, 0 SAY PADC(m.m_title, 57)
  5493. @15, 0 SAY PADC(m.m_phone, 57)
  5494. @16, 1 SAY "to report the problem."
  5495. @18, 1 SAY "Press any key to return " + ;
  5496.     "to Main Menu..." COLOR (lowtext)
  5497. SHOW WINDOW bugbox
  5498. DO razberry
  5499. = INKEY(0, "MH")
  5500. RELEASE WINDOW bugbox
  5501. RETURN
  5502. * End procedure LREADONLY
  5503.  
  5504.  
  5505.  
  5506. *!*****************************************************************************
  5507. *!
  5508. *!      Procedure: REC2BIG
  5509. *!
  5510. *!      Called by: FP25EROR.PRG                      
  5511. *!
  5512. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  5513. *!
  5514. *!*****************************************************************************
  5515. PROCEDURE rec2big
  5516. *******************************************************************************
  5517. *& Error #392 - Maximum record length exceeded in import file.
  5518. *
  5519. *   An attempt has been made to import a file that has a
  5520. *   record length greater than 65,000 bytes.
  5521. *
  5522. *   Advise user & return to main menu.
  5523. *
  5524. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5525. *   Date: 1/4/93
  5526. *
  5527. *   Modified 3/25/93 by Pat Adams
  5528. *       LOWTEXT color added to last text line in window
  5529. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5530. DEFINE WINDOW bugbox FROM  8,7 TO 16,73 DOUBLE ;
  5531.     COLOR SCHEME 20 SHADOW
  5532. ACTIVATE SCREEN
  5533. ACTIVATE WINDOW bugbox NOSHOW
  5534. @ 0,23 SAY "  S O R R Y !  " COLOR (redblink)
  5535. @ 2, 1 SAY "Each individual record can not be " + ;
  5536.     "larger than 65,000 bytes."
  5537. @ 3, 1 SAY "The records in the file you " + ;
  5538.     "are attempting to import exceed"
  5539. @ 4, 1 SAY "this size limit."
  5540. @ 6, 1 SAY "Press any key to return to " + ;
  5541.     "main menu..." COLOR (lowtext)
  5542. SHOW WINDOW bugbox
  5543. DO razberry
  5544. = INKEY(0, "MH")
  5545. RELEASE WINDOW bugbox
  5546. RETURN
  5547. * End procedure REC2BIG
  5548.  
  5549.  
  5550. *!*****************************************************************************
  5551. *!
  5552. *!      Procedure: IO_FAILED
  5553. *!
  5554. *!      Called by: FP25EROR.PRG                      
  5555. *!
  5556. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5557. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5558. *!
  5559. *!           Uses: SYSDATA.DBF        
  5560. *!
  5561. *!*****************************************************************************
  5562. PROCEDURE io_failed
  5563. *******************************************************************************
  5564. *& Error #1002 - I/O operation failure
  5565. *
  5566. *  DOS is unable to perform a file
  5567. *  or hardware operation.  Inform user
  5568. *  and return to DOS.
  5569. *
  5570. *  Different messages are provided depending
  5571. *  upon whether user is working in stand-alone
  5572. *  mode or in a LAN environment, as determined
  5573. *  by SYSDATA.DBF.
  5574. *
  5575. *  User is returned to DOS.
  5576. *
  5577. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5578. *   Date: 1/5/93
  5579. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5580. IF ! USED("SYSDATA")
  5581.     SELECT 0
  5582.     USE sysdata NOUPDATE
  5583. ELSE
  5584.     SELECT sysdata
  5585. ENDIF (! USED("SYSDATA"))
  5586.  
  5587. IF ! sysdata.multi_user
  5588.     * ===============================================
  5589.     * Message if user is working in stand-alone mode.
  5590.     * ===============================================
  5591.     DEFINE WINDOW bugbox FROM  7,14 TO 16,66 DOUBLE ;
  5592.         COLOR SCHEME 20 SHADOW
  5593.     ACTIVATE SCREEN
  5594.     ACTIVATE WINDOW bugbox NOSHOW
  5595.     @ 0,14 SAY "  REAL BAD NEWS!  " COLOR (redblink)
  5596.     @ 2, 1 SAY "A hardware failure or a DOS " + ;
  5597.         "failure has occurred!"
  5598.     @ 4, 1 SAY "If this message continues " + ;
  5599.         "to appear you should"
  5600.     @ 5, 1 SAY "have your computer checked."
  5601.     @ 7, 1 SAY "Press any key to exit " + ;
  5602.         "to DOS..." COLOR (lowtext)
  5603.     SHOW WINDOW bugbox
  5604. ELSE
  5605.     * ===============================================
  5606.     * Otherwise, if working in LAN environment call
  5607.     * the LAN administrator.
  5608.     * ===============================================
  5609.     PRIVATE m_call, m_title, m_phone
  5610.     STORE SPACE(0) TO m_call, m_title, m_phone
  5611.     * ========================================
  5612.     *$ Get info on appropriate person to call
  5613.     * ========================================
  5614.     DO lan_admin
  5615.     DEFINE WINDOW bugbox FROM 5,7 TO 17,73 DOUBLE ;
  5616.         COLOR SCHEME 20 SHADOW
  5617.     ACTIVATE SCREEN
  5618.     ACTIVATE WINDOW bugbox NOSHOW
  5619.     @ 0,21 SAY "  REAL BAD NEWS!  " COLOR (redblink)
  5620.     @ 2, 1 SAY "A hardware failure or an operating " + ;
  5621.         "system failure has occurred."
  5622.     @ 4, 0 SAY PADC("Please contact:", 64)
  5623.     @ 5, 0 SAY PADC(m.m_call, 64)
  5624.     @ 6, 0 SAY PADC(m.m_title,64)
  5625.     @ 7, 0 SAY PADC(m.m_phone, 64)
  5626.     @ 8, 0 SAY PADC("to report the problem.", 64)
  5627.     @10, 1 SAY "Press any key to exit " + ;
  5628.         "to DOS..." COLOR (lowtext)
  5629.     SHOW WINDOW bugbox
  5630. ENDIF (! sysdata.multi_user)
  5631.  
  5632. DO razberry
  5633. =INKEY(0, "MH")
  5634. RELEASE WINDOW bugbox
  5635. RETURN
  5636. * End procedure IO_FAILED
  5637.  
  5638.  
  5639.  
  5640. *!*****************************************************************************
  5641. *!
  5642. *!      Procedure: USTRING
  5643. *!
  5644. *!      Called by: SETENVMT           (procedure in FP25EROR.PRG)
  5645. *!
  5646. *!*****************************************************************************
  5647. PROCEDURE ustring
  5648. *******************************************************************************
  5649. *    Create a Unique Character String
  5650. *
  5651. *   Usage: ? USTRING()
  5652. *          Store USTRING() TO memvar
  5653. *
  5654. *   Author: Pat Adams
  5655. *   Date: 4/16/92
  5656. *   Copyright 1992 DB Unlimited
  5657. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5658. PARAMETERS sendback
  5659. STORE SUBSTR(SYS(3), 4, 4) + ;
  5660.     SUBSTR(SYS(2015),7,4) TO sendback
  5661. RETURN sendback
  5662.  
  5663.  
  5664.  
  5665. *!*****************************************************************************
  5666. *!
  5667. *!      Procedure: MEM_PROB
  5668. *!
  5669. *!      Called by: FP25EROR.PRG                      
  5670. *!
  5671. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5672. *!               : DEVELOPER          (procedure in FP25EROR.PRG)
  5673. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5674. *!
  5675. *!           Uses: SYSDATA.DBF        
  5676. *!
  5677. *!*****************************************************************************
  5678. PROCEDURE mem_prob
  5679. *******************************************************************************
  5680. *& #1003 - Free handle not found
  5681. *& #1004 - Use of invalid handle
  5682. *& #1005 - Use of unallocated handle
  5683. *& #1006 - Use of transgressed handle
  5684. *& #1009 - Incorrect handle found during compaction
  5685. *& #1011 - Area can not contain handle
  5686. *& #1000 - Internal consistency error
  5687. *& #1296 - Error reading resource.  (Internal
  5688. *            FoxPro error)
  5689. *& #1462 - File internal consistency error
  5690. *
  5691. *   Advise user a memory problem has
  5692. *   occurred and return to DOS.  The FoxPro
  5693. *   docs request that Microsoft be called if
  5694. *   these problems occur.
  5695. *
  5696. *   Note that it is possible that error #1006
  5697. *   may result from a corrupted index file.
  5698. *
  5699. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5700. *   Date: 1/8/93
  5701. *
  5702. *   Modified 3/25/93 by Pat Adams
  5703. *       Correction to typo in MULTI_USER made
  5704. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5705. PRIVATE m_call, m_title, m_phone
  5706. STORE SPACE(0) TO m_call, m_title, m_phone
  5707. CLOSE DATA
  5708. CLEAR WINDOWS
  5709. SELECT 0
  5710. USE sysdata NOUPDATE
  5711.  
  5712. IF sysdata.multi_user
  5713.     DO lan_admin
  5714. ELSE
  5715.     DO developer
  5716. ENDIF (sysdata.multi_user)
  5717.  
  5718. DEFINE WINDOW bugbox FROM 7,10 TO 19,69 DOUBLE ;
  5719.     COLOR SCHEME 20 SHADOW
  5720. ACTIVATE SCREEN
  5721. ACTIVATE WINDOW bugbox NOSHOW
  5722. @ 0,19 SAY "   S O R R Y !   " COLOR (redblink)
  5723. @ 2, 1 SAY "A memory management error " + ;
  5724.     "has occurred.  Please contact:"
  5725. @ 4, 0 SAY PADC(m.m_call, 57)
  5726. @ 5, 0 SAY PADC(m.m_title, 57)
  5727. @ 6, 0 SAY PADC(m.m_phone, 57)
  5728. @ 8, 1 SAY "to report the problem."
  5729. @ 10, 1 SAY "Press any key to return to DOS..." COLOR (lowtext)
  5730. SHOW WINDOW bugbox
  5731. DO razberry
  5732. =INKEY(0, "MH")
  5733. RELEASE WINDOW bugbox
  5734. RETURN
  5735. * End procedure MEM_PROB
  5736.  
  5737.  
  5738.  
  5739.  
  5740. *!*****************************************************************************
  5741. *!
  5742. *!      Procedure: KODEKORUP
  5743. *!
  5744. *!      Called by: FP25EROR.PRG                      
  5745. *!
  5746. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  5747. *!               : DEVELOPER          (procedure in FP25EROR.PRG)
  5748. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5749. *!
  5750. *!           Uses: SYSDATA.DBF        
  5751. *!
  5752. *!*****************************************************************************
  5753. PROCEDURE kodekorup
  5754. *******************************************************************************
  5755. *& #1007 - Transgressed node found during compaction
  5756. *& #1008 - Foreign node found during compaction
  5757. *& #1010 - Area size exceeded during compaction
  5758. *
  5759. *   The most likely causes of these errors is that
  5760. *   the compiled code has become corrupted or FoxPro
  5761. *   itself has become corrupted.  Advise user and
  5762. *   return to DOS.
  5763. *
  5764. *   Note that the message only informs the user that
  5765. *   the compiled code may have become corrupted.
  5766. *   This is because FP25EROR is aimed primarily at
  5767. *   handling errors in running applications.
  5768. *
  5769. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5770. *   Date: 1/8/93
  5771. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5772. PRIVATE m_call, m_title, m_phone
  5773. STORE SPACE(0) TO m_call, m_title, m_phone
  5774. CLOSE DATA
  5775. USE sysdata NOUPDATE
  5776. CLEAR WINDOWS
  5777. CLEAR
  5778.  
  5779. IF sysdata.multi_user
  5780.     * ===============================
  5781.     * If in multi-user mode call
  5782.     * LAN administrator
  5783.     * ===============================
  5784.     DO lan_admin
  5785. ELSE
  5786.     * ===============================
  5787.     * Otherwise call developer
  5788.     * ===============================
  5789.     DO developer
  5790. ENDIF (sysdata.multi_user)
  5791.  
  5792. DEFINE WINDOW bugbox FROM 5,20 TO 19,59 DOUBLE ;
  5793.     COLOR SCHEME 20 SHADOW
  5794. ACTIVATE SCREEN
  5795. ACTIVATE WINDOW bugbox NOSHOW
  5796. @ 0,12 SAY "  WHOOPS!  " COLOR (redblink)
  5797. @ 2, 1 SAY "It appears that your source code may"
  5798. @ 3, 1 SAY "have become corrupted.  We can not"
  5799. @ 4, 1 SAY "continue.  Please contact:"
  5800. @ 6, 0 SAY PADC(m.m_call, 37)
  5801. @ 7, 0 SAY PADC(m.m_title, 37)
  5802. @ 8, 0 SAY PADC(m.m_phone, 37)
  5803. @10, 1 SAY "to report the problem."
  5804. @12, 1 SAY "Press any key to " + ;
  5805.     "return to DOS..." COLOR (lowtext)
  5806. SHOW WINDOW bugbox
  5807. DO razberry
  5808. =INKEY(0, "MH")
  5809. RELEASE WINDOW bugbox
  5810. RETURN
  5811. * End procedure KODEKORUP
  5812.  
  5813.  
  5814.  
  5815. *!*****************************************************************************
  5816. *!
  5817. *!      Procedure: BAD_API
  5818. *!
  5819. *!      Called by: FP25EROR.PRG                      
  5820. *!
  5821. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  5822. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5823. *!
  5824. *!*****************************************************************************
  5825. PROCEDURE bad_api
  5826. *******************************************************************************
  5827. *& Error #1098 - API function _UserError() was called.
  5828. *   There is a problem with the API library being
  5829. *   used that resuled in the _UserError being called.
  5830. *   The error # returned by _UserError will provide
  5831. *   more detailed information on the error in the .PLB.
  5832. *
  5833. *& Error #1190 - Invalid .LIB signature
  5834. *& Error #1192 - Internal .LIB undefined symbol error
  5835. *& Error #1691 - Library file is invalid
  5836. *& Error #1711 - API library revision mismatch.
  5837. *
  5838. *   The SET LIBRARY TO command is utilized to remove
  5839. *   all .PLBs from memory and user is returned to
  5840. *   the main menu or master module.
  5841. *
  5842. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5843. *   Date: 1/8/93
  5844. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5845. PRIVATE m_call, m_title, m_phone
  5846. STORE SPACE(0) TO m_call, m_title, m_phone
  5847. SET LIBRARY TO
  5848. * ==========================
  5849. *$ Get info on person to call
  5850. * ==========================
  5851. DO developer
  5852. DEFINE WINDOW bugbox FROM 6,16 TO 18,63 DOUBLE ;
  5853.     COLOR SCHEME 20 SHADOW
  5854. ACTIVATE SCREEN
  5855. ACTIVATE WINDOW bugbox NOSHOW
  5856. @ 0,15 SAY "   SORRY!   " COLOR (redblink)
  5857. @ 2, 1 SAY "There seems to be a problem with an add-"
  5858. @ 3, 1 SAY "in library being used.  Please contact:"
  5859. @ 5, 0 SAY PADC(m.m_call, 45)
  5860. @ 6, 0 SAY PADC(m.m_title, 45)
  5861. @ 7, 0 SAY PADC(m.m_phone, 45)
  5862. @ 9, 1 SAY "Press any key to" COLOR (lowtext)
  5863. @10, 1 SAY "return to the main menu..." COLOR (lowtext)
  5864. SHOW WINDOW bugbox
  5865. DO razberry
  5866. = INKEY(0, "MH")
  5867. RELEASE WINDOW bugbox
  5868. RETURN
  5869. * End procedure BAD_API
  5870.  
  5871.  
  5872.  
  5873. *!*****************************************************************************
  5874. *!
  5875. *!      Procedure: TRANSACTN
  5876. *!
  5877. *!      Called by: FP25EROR.PRG                      
  5878. *!
  5879. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  5880. *!               : YES_NO             (procedure in FP25EROR.PRG)
  5881. *!
  5882. *!*****************************************************************************
  5883. PROCEDURE transactn
  5884. *******************************************************************************
  5885. *& #1106 - Transaction in progress
  5886. *
  5887. *   Another user in the midst of a Novell transaction
  5888. *   that involves database records, indexes or memo
  5889. *   fields needed at this point.  Advise user and
  5890. *   provide option to retry.
  5891. *
  5892. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5893. *   Date: 1/8/93
  5894. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5895. PARAMETERS re_try
  5896. DEFINE WINDOW bugbox FROM 7,15 TO 16,65 DOUBLE ;
  5897.     COLOR SCHEME 20 SHADOW
  5898. ACTIVATE SCREEN
  5899. ACTIVATE WINDOW bugbox NOSHOW
  5900. @ 0,14 SAY "   S O R R Y !   " COLOR (redblink)
  5901. @ 2, 1 SAY "Another user was in the midst of a transaction"
  5902. @ 3, 1 SAY "involving data you required.  If you retry the"
  5903. @ 4, 1 SAY "transaction may be completed by now and the"
  5904. @ 5, 1 SAY "data available."
  5905. @ 7, 9 SAY "WOULD YOU LIKE TO RETRY? (Y/N)" COLOR *N/W
  5906. SHOW WINDOW bugbox
  5907. DO razberry
  5908. DO yes_no WITH re_try
  5909. RELEASE WINDOW bugbox
  5910. RETURN re_try
  5911. * End procedure TRANSACTN
  5912.  
  5913.  
  5914.  
  5915. *!*****************************************************************************
  5916. *!
  5917. *!      Procedure: BAD_OBJ
  5918. *!
  5919. *!      Called by: FP25EROR.PRG                      
  5920. *!
  5921. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  5922. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5923. *!
  5924. *!*****************************************************************************
  5925. PROCEDURE bad_obj
  5926. *******************************************************************************
  5927. *& Error #1195 - Object file is the wrong version
  5928. *
  5929. *   This message will occur if running the
  5930. *   interactive version of FoxPro and the
  5931. *   source code can not be found.
  5932. *
  5933. *& Error #1309 - File is not an object file
  5934. *
  5935. *   Object file has most likely become corrupted.
  5936. *
  5937. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5938. *   Date: 1/8/93
  5939. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5940. PRIVATE m_call, m_title, m_phone
  5941. STORE SPACE(0) TO m_call, m_title, m_phone
  5942. DEFINE WINDOW bugbox FROM  6,16 TO 17,64 ;
  5943.     COLOR SCHEME 20 SHADOW
  5944. ACTIVATE SCREEN
  5945. DO developer
  5946. ACTIVATE WINDOW bugbox NOSHOW
  5947. @ 0,15 SAY "   SORRY!   " COLOR (redblink)
  5948. @ 2, 1 SAY "Your source code has been compiled with a"
  5949. @ 3, 1 SAY "different version of FoxPro.  Please contact:"
  5950. * ======================================
  5951. *& Instruct user to call developer
  5952. * ======================================
  5953. @ 5, 0 SAY PADC(m.m_call, 45)
  5954. @ 6, 0 SAY PADC(m.m_title, 45)
  5955. @ 7, 0 SAY PADC(m.m_phone, 45)
  5956. @ 9, 1 SAY "Press any key to " + ;
  5957.     "return to Main Menu..." COLOR (lowtext)
  5958. SHOW WINDOW bugbox
  5959. DO razberry
  5960. =INKEY(0, "MH")
  5961. RELEASE WINDOW bugbox
  5962. RETURN
  5963. * End procedure BAD_OBJ
  5964.  
  5965.  
  5966.  
  5967. *!*****************************************************************************
  5968. *!
  5969. *!      Procedure: BAD_WIN
  5970. *!
  5971. *!      Called by: FP25EROR.PRG                      
  5972. *!
  5973. *!          Calls: APP_ADMIN          (procedure in FP25EROR.PRG)
  5974. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  5975. *!
  5976. *!*****************************************************************************
  5977. PROCEDURE bad_win
  5978. *******************************************************************************
  5979. *& #1632 - Invalid window format
  5980. *          .WIN file has become corrupted
  5981. *
  5982. *   Advise user and return to Main Menu
  5983. *
  5984. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  5985. *   Date: 1/11/93
  5986. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  5987. PRIVATE m_call, m_title, m_phone
  5988. STORE SPACE(0) TO m_call, m_title, m_phone
  5989. DEFINE WINDOW bugbox FROM 5,20 TO 19,60 DOUBLE ;
  5990.     COLOR SCHEME 20 SHADOW
  5991. ACTIVATE SCREEN
  5992. * ================================
  5993. * Get info on app administrator
  5994. * from SYSDATA.DBF
  5995. * ================================
  5996. DO app_admin
  5997. ACTIVATE WINDOW bugbox NOSHOW
  5998. @ 0,11 SAY "   SORRY!   " COLOR (redblink)
  5999. @ 2, 1 SAY "A required file has become corrupted."
  6000. @ 3, 1 SAY "This means we are unable to continue."
  6001. @ 5, 1 SAY "Please contact:"
  6002. @ 6, 0 SAY PADC(m.m_call, 38)
  6003. @ 7, 0 SAY PADC(m.m_title, 38)
  6004. @ 8, 0 SAY PADC(m.m_phone, 38)
  6005. @ 9, 1 SAY "to report the problem."
  6006. @11, 1 SAY "Press any key to" COLOR (lowtext)
  6007. @12, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6008. SHOW WINDOW bugbox
  6009. DO razberry
  6010. =INKEY(0, "MH")
  6011. RELEASE WINDOW bugbox
  6012. RETURN
  6013. * End procedure bad_win
  6014.  
  6015.  
  6016.  
  6017. *!*****************************************************************************
  6018. *!
  6019. *!      Procedure: ENKRYPTED
  6020. *!
  6021. *!      Called by: FP25EROR.PRG                      
  6022. *!
  6023. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  6024. *!
  6025. *!*****************************************************************************
  6026. PROCEDURE enkrypted
  6027. *******************************************************************************
  6028. *& #1671 - Cannot import from password protected file
  6029. *& #1672 - Cannot append from password protected file
  6030. *
  6031. *   Inform user and return to main menu (master module)
  6032. *
  6033. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6034. *   Date: 1/11/93
  6035. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6036. DEFINE WINDOW bugbox FROM 6,20 TO 16,60 DOUBLE ;
  6037.     COLOR SCHEME 20 SHADOW
  6038. ACTIVATE SCREEN
  6039. ACTIVATE WINDOW bugbox NOSHOW
  6040. @ 0,11 SAY "   WHOOPS!   " COLOR (redblink)
  6041. @ 2, 1 SAY "You are attempting to import or add"
  6042. @ 3, 1 SAY "data from a password protected or"
  6043. @ 4, 1 SAY "encrypted file.  The file must first"
  6044. @ 5, 1 SAY "be unprotected."
  6045. @ 7, 1 SAY "Press any key to" COLOR (lowtext)
  6046. @ 8, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6047. SHOW WINDOW bugbox
  6048. DO razberry
  6049. =INKEY(0, "MH")
  6050. RELEASE WINDOW bugbox
  6051. RETURN
  6052. * End procedure enkrypted
  6053.  
  6054.  
  6055.  
  6056. *!*****************************************************************************
  6057. *!
  6058. *!      Procedure: A_ONLY
  6059. *!
  6060. *!      Called by: FP25EROR.PRG                      
  6061. *!
  6062. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  6063. *!               : YES_NO             (procedure in FP25EROR.PRG)
  6064. *!
  6065. *!*****************************************************************************
  6066. PROCEDURE a_only
  6067. *******************************************************************************
  6068. *& #1679 - Import only Worksheet A for Lotus 1-2-3
  6069. *          version 3.0 files
  6070. *
  6071. *          Worksheets B and C can not be imported
  6072. *          because a table is two-dimensional.
  6073. *
  6074. *   Inform user and provide the option to continue
  6075. *   with import or abandon the import.
  6076. *
  6077. *   The passed parameter, GO_ON, is a logical memvar
  6078. *   returned to the calling module.
  6079. *
  6080. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6081. *   Date: 1/11/93
  6082. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6083. PARAMETERS go_on
  6084. DEFINE WINDOW bugbox FROM 6,19 TO 16,60 DOUBLE ;
  6085.     COLOR SCHEME 20 SHADOW
  6086. ACTIVATE SCREEN
  6087. ACTIVATE WINDOW bugbox NOSHOW
  6088. @ 0,12 SAY "   WHOOPS!   " COLOR (redblink)
  6089. @ 2, 1 SAY "It's only possible to import the first"
  6090. @ 3, 1 SAY "Lotus worksheet.  The others can not"
  6091. @ 4, 1 SAY "be imported because a table is two"
  6092. @ 5, 1 SAY "dimensional."
  6093. @ 7, 9 SAY "DO YOU WANT TO CONTINUE"
  6094. @ 8, 9 SAY "WITH THE IMPORT?  (Y/N)"
  6095. SHOW WINDOW bugbox
  6096. DO razberry
  6097. DO yes_no WITH go_on
  6098. RELEASE WINDOW bugbox
  6099. RETURN go_on
  6100. * End procedure A_ONLY
  6101.  
  6102.  
  6103.  
  6104. *!*****************************************************************************
  6105. *!
  6106. *!      Procedure: L_HIDE
  6107. *!
  6108. *!      Called by: FP25EROR.PRG                      
  6109. *!
  6110. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  6111. *!
  6112. *!*****************************************************************************
  6113. PROCEDURE l_hide
  6114. *******************************************************************************
  6115. *& #1680 - Worksheet for Lotus 1-2-3 v 3.0
  6116. *          file is hidden.  FoxPro can not
  6117. *          import a hidden worksheet.
  6118. *
  6119. *   Inform user and return to main menu (master)
  6120. *
  6121. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6122. *   Date: 1/11/93
  6123. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6124. DEFINE WINDOW bugbox FROM 6,17 TO 15,63 DOUBLE ;
  6125.     COLOR SCHEME 20 SHADOW
  6126. ACTIVATE SCREEN
  6127. ACTIVATE WINDOW bugbox NOSHOW
  6128. @ 0,14 SAY "   SORRY!   " COLOR (redblink)
  6129. @ 2, 1 SAY "The Lotus spreadsheet you are attempting to"
  6130. @ 3, 1 SAY "import is hidden.  It can not be imported"
  6131. @ 4, 1 SAY "until it has been unhidden."
  6132. @ 6, 1 SAY "Press any key to" COLOR (lowtext)
  6133. @ 7, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6134. SHOW WINDOW bugbox
  6135. DO razberry
  6136. =INKEY(0, "MH")
  6137. RELEASE WINDOW bugbox
  6138. RETURN
  6139. * End procedure L_HIDE
  6140.  
  6141.  
  6142.  
  6143. *!*****************************************************************************
  6144. *!
  6145. *!      Procedure: BAD_PARDX
  6146. *!
  6147. *!      Called by: FP25EROR.PRG                      
  6148. *!
  6149. *!          Calls: RAZBERRY           (procedure in FP25EROR.PRG)
  6150. *!
  6151. *!*****************************************************************************
  6152. PROCEDURE bad_pardx
  6153. *******************************************************************************
  6154. *& #1688 - Invalid Paradox v 3.5 file
  6155. *
  6156. *   File being imported is not a version 3.5
  6157. *   Paradox file or else it has become corrupted.
  6158. *
  6159. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6160. *   Date: 1/11/93
  6161. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6162. DEFINE WINDOW bugbox FROM 7,14 TO 16,66 DOUBLE ;
  6163.     COLOR SCHEME 20 SHADOW
  6164. ACTIVATE SCREEN
  6165. ACTIVATE WINDOW bugbox NOSHOW
  6166. @ 0,18 SAY "   SORRY!  " COLOR (redblink)
  6167. @ 2, 1 SAY "Either the file you are trying to import is not a"
  6168. @ 3, 1 SAY "Paradox 3.5 file or else it has been corrupted."
  6169. @ 4, 1 SAY "Unable to continue with the import."
  6170. @ 6, 1 SAY "Press any key to" COLOR (lowtext)
  6171. @ 7, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6172. SHOW WINDOW bugbox
  6173. DO razberry
  6174. =INKEY(0, "MH")
  6175. RELEASE WINDOW bugbox
  6176. RETURN
  6177. * End procedure BAD_PARDX
  6178.  
  6179.  
  6180.  
  6181. *!*****************************************************************************
  6182. *!
  6183. *!      Procedure: NOAPI
  6184. *!
  6185. *!      Called by: FP25EROR.PRG                      
  6186. *!
  6187. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  6188. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  6189. *!
  6190. *!*****************************************************************************
  6191. PROCEDURE noapi
  6192. *******************************************************************************
  6193. *& #1709 - Cannot load 16-bit API interface
  6194. *
  6195. *   The most likely cause is that the FOXPROX.EXE
  6196. *   file has become corrupted or the .EXE compiled
  6197. *   application has become corrupted.  Inform user
  6198. *   and quit to DOS.
  6199. *
  6200. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6201. *   Date: 1/11/93
  6202. *
  6203. *   Modified 3/25/93 by Pat Adams
  6204. *       Corrected bug in ATC() statement
  6205. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6206. PRIVATE m_call, m_title, m_phone
  6207. STORE SPACE(0) TO m_call, m_title, m_phone
  6208.  
  6209. IF ATC("LIBRARY", VERS(1)) > 0
  6210.     * ==============================================
  6211.     * User is running an .EXE complied application
  6212.     * ==============================================
  6213.     DO developer
  6214.     DEFINE WINDOW bugbox FROM 7,10 TO 18,69 DOUBLE ;
  6215.         COLOR SCHEME 20 SHADOW
  6216.     ACTIVATE SCREEN
  6217.     ACTIVATE WINDOW bugbox NOSHOW
  6218.     @ 0,20 SAY "   BAD NEWS!   " COLOR (redblink)
  6219.     @ 2, 1 SAY "It appears that your software " + ;
  6220.         "may have become corrupted."
  6221.     @ 3, 1 SAY "If you have a back-up copy " + ;
  6222.         "please reinstall it.  If not,"
  6223.     @ 4, 1 SAY "contact:"
  6224.     @ 5, 0 SAY PADC(m.m_call, 57)
  6225.     @ 6, 0 SAY PADC(m.m_title, 57)
  6226.     @ 7, 0 SAY PADC(m.m_phone, 57)
  6227.     @ 9, 1 SAY "Press any key to " + ;
  6228.         "quit to DOS..." COLOR (lowtext)
  6229. ELSE
  6230.     * ==============================================
  6231.     * User is running interactive FoxPro
  6232.     * ==============================================
  6233.     DEFINE WINDOW bugbox FROM 8,16 TO 16,63 DOUBLE ;
  6234.         COLOR SCHEME 20 SHADOW
  6235.     ACTIVATE SCREEN
  6236.     ACTIVATE WINDOW bugbox NOSHOW
  6237.     @ 0,14 SAY "   BAD NEWS!   " COLOR (redblink)
  6238.     @ 2, 1 SAY "Your FOXPROX.EXE file appears to have become"
  6239.     @ 3, 1 SAY "corrupted.  Please reinstall FoxPro."
  6240.     @ 5, 1 SAY "Press any key" COLOR (lowtext)
  6241.     @ 6, 1 SAY "to return to DOS..." COLOR (lowtext)
  6242. ENDIF (ATC("LIBRARY", VERS(1)) > 0)
  6243.  
  6244. SHOW WINDOW bugbox
  6245. DO razberry
  6246. =INKEY(0, "MH")
  6247. RELEASE WINDOW bugbox
  6248. * End procedure NOAPI
  6249.  
  6250.  
  6251.  
  6252. *!*****************************************************************************
  6253. *!
  6254. *!      Procedure: NOPSERVER
  6255. *!
  6256. *!      Called by: FP25EROR.PRG                      
  6257. *!
  6258. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  6259. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  6260. *!
  6261. *!*****************************************************************************
  6262. PROCEDURE nopserver
  6263. *******************************************************************************
  6264. *& #1715 - Server "<server>" could not be found.
  6265. *          The server specified with SET PRINTER TO
  6266. *          command could not be found.
  6267. *
  6268. *   The passed parameter is the name of the missing server.
  6269. *
  6270. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6271. *   Date: 1/11/93
  6272. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6273. PARAMETER pserver
  6274. PRIVATE m_call, m_title, m_phone
  6275. STORE SPACE(0) TO m_call, m_title, m_phone
  6276. * ==========================
  6277. *$ Get info on person to call
  6278. * ==========================
  6279. DO lan_admin
  6280. DEFINE WINDOW bugbox FROM 6,18 TO 18,61 DOUBLE;
  6281.     COLOR SCHEME 20 SHADOW
  6282. ACTIVATE SCREEN
  6283. ACTIVATE WINDOW bugbox NOSHOW
  6284. @ 0,12 SAY "   SORRY!   " COLOR (redblink)
  6285. @ 2, 1 SAY "Print server &pserver could not be found."
  6286. @ 3, 1 SAY "Please contact:"
  6287. @ 4, 0 SAY PADC(m.m_call, 41)
  6288. @ 5, 0 SAY PADC(m.m_title, 41)
  6289. @ 6, 0 SAY PADC(m.m_phone, 41)
  6290. @ 7, 1 SAY "to report the problem."
  6291. @ 9, 1 SAY "Press any key to" COLOR (lowtext)
  6292. @10, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6293. SHOW WINDOW bugbox
  6294. DO razberry
  6295. =INKEY(0, "MH")
  6296. RELEASE WINDOW bugbox
  6297. RETURN
  6298. * End procedure NOPSERVER
  6299.  
  6300.  
  6301.  
  6302. *!*****************************************************************************
  6303. *!
  6304. *!      Procedure: NO_QUE
  6305. *!
  6306. *!      Called by: FP25EROR.PRG                      
  6307. *!
  6308. *!          Calls: LAN_ADMIN          (procedure in FP25EROR.PRG)
  6309. *!               : APP_ADMIN          (procedure in FP25EROR.PRG)
  6310. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  6311. *!
  6312. *!           Uses: SYSDATA.DBF        
  6313. *!
  6314. *!*****************************************************************************
  6315. PROCEDURE no_que
  6316. *******************************************************************************
  6317. *&  #1716 - Queue <queue> not found.
  6318. *           The print queue specified in the SET
  6319. *           PRINTER TO command can not be found.
  6320. *
  6321. *   Passed parameter nopq is the name of the print que.
  6322. *
  6323. *   Author: Pat Adams, DB Unlimited  (718) 469-4032
  6324. *   Date: 1/11/93
  6325. *
  6326. *   Modified 5/26/93 by Pat Adams
  6327. *       Correction to spelling of SYSDATA
  6328. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6329. PARAMETERS nopq
  6330. PRIVATE m_call, m_title, m_phone
  6331. STORE SPACE(0) TO m_call, m_title, m_phone
  6332.  
  6333. IF ! USED("SYSDATA")
  6334.     SELECT 0
  6335.     USE sysdata NOUPDATE
  6336. ELSE
  6337.     SELECT sysdata
  6338. ENDIF (! USED("SYSDATA"))
  6339.  
  6340. IF sysdata.multi_user
  6341.     DO lan_admin
  6342. ELSE
  6343.     DO app_admin
  6344. ENDIF (sysdata.multi_user)
  6345.  
  6346. DEFINE WINDOW bugbox FROM 6,19 TO 18,60 DOUBLE ;
  6347.     COLOR SCHEME 20 SHADOW
  6348. ACTIVATE SCREEN
  6349. ACTIVATE WINDOW bugbox NOSHOW
  6350. @ 0,12 SAY "   SORRY!   " COLOR (redblink)
  6351. @ 2, 1 SAY "Print que &nopq could not be found."
  6352. @ 3, 1 SAY "Please contact:"
  6353. @ 4, 0 SAY PADC(m.m_call, 39)
  6354. @ 5, 0 SAY PADC(m.m_title, 39)
  6355. @ 6, 0 SAY PADC(m.m_phone, 39)
  6356. @ 7, 1 SAY "to report this problem."
  6357. @ 9, 1 SAY "Press any key to" COLOR (lowtext)
  6358. @10, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6359. SHOW WINDOW bugbox
  6360. DO razberry
  6361. =INKEY(0, "MH")
  6362. RELEASE WINDOW bugbox
  6363. RETURN
  6364. * End procedure NO_QUE
  6365.  
  6366.  
  6367. *!*****************************************************************************
  6368. *!
  6369. *!      Procedure: NO_PLB
  6370. *!
  6371. *!      Called by: FP25EROR.PRG                      
  6372. *!
  6373. *!          Calls: DEVELOPER          (procedure in FP25EROR.PRG)
  6374. *!               : RAZBERRY           (procedure in FP25EROR.PRG)
  6375. *!
  6376. *!*****************************************************************************
  6377. PROCEDURE no_plb
  6378. *******************************************************************************
  6379. *& #1726 - API library file could not be found
  6380. *
  6381. *   Author: Pat Adams, DB Unlimited
  6382. *   Date: 1/11/93
  6383. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6384. PRIVATE m_call, m_title, m_phone
  6385. STORE SPACE(0) TO m_call, m_title, m_phone
  6386. * =================================
  6387. * Get info on person to be called
  6388. * =================================
  6389. DO developer
  6390. DEFINE WINDOW bugbox FROM 5,19 TO 17,61 DOUBLE ;
  6391.     COLOR SCHEME 20 SHADOW
  6392. ACTIVATE SCREEN
  6393. ACTIVATE WINDOW bugbox NOSHOW
  6394. @ 0,12 SAY "   WHOOPS!   " COLOR (redblink)
  6395. @ 2, 1 SAY "An API library file could not be found."
  6396. @ 3, 1 SAY "Please contact:"
  6397. @ 4, 0 SAY PADC(m.m_call, 40)
  6398. @ 5, 0 SAY PADC(m.m_title, 40)
  6399. @ 6, 0 SAY PADC(m.m_phone, 40)
  6400. @ 7, 1 SAY "to report the problem."
  6401. @ 9, 1 SAY "Press any key to" COLOR (lowtext)
  6402. @10, 1 SAY "return to Main Menu..." COLOR (lowtext)
  6403. SHOW WINDOW bugbox
  6404. DO razberry
  6405. =INKEY(0, "MH")
  6406. RELEASE WINDOW bugbox
  6407. RETURN
  6408. * End procedure NO_PLB
  6409. *: EOF: FP25EROR.PRG
  6410.