summaryrefslogtreecommitdiff
path: root/basic/inc/basic/sberrors.hxx
blob: 75fd3bd193e760104ffaa9d5ac22025c2bef4f0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: sberrors.hxx,v $
 * $Revision: 1.3 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef _SB_SBERRORS_HXX
#define _SB_SBERRORS_HXX

#include <basic/sbxdef.hxx>

#ifndef __RSC
typedef ULONG SbError;
#endif

// Mapping to SbxError
#define ERRCODE_BASIC_SYNTAX                ERRCODE_SBX_SYNTAX                  // unspecified syntax error
#define ERRCODE_BASIC_BAD_ARGUMENT          ERRCODE_SBX_NOTIMP                  // Invalid procedure call
#define ERRCODE_BASIC_MATH_OVERFLOW         ERRCODE_SBX_OVERFLOW                // Overflow
#define ERRCODE_BASIC_OUT_OF_RANGE          ERRCODE_SBX_BOUNDS                  // Subscript out of range
#define ERRCODE_BASIC_ZERODIV               ERRCODE_SBX_ZERODIV                 // Division by zero
#define ERRCODE_BASIC_CONVERSION            ERRCODE_SBX_CONVERSION              // Type mismatch
#define ERRCODE_BASIC_BAD_PARAMETER         ERRCODE_SBX_BAD_PARAMETER           // Invalid Parameter
#define ERRCODE_BASIC_PROC_UNDEFINED        ERRCODE_SBX_PROC_UNDEFINED          // Sub or Function not defined
#define ERRCODE_BASIC_INTERNAL_ERROR        ERRCODE_SBX_ERROR                   // internal error
#define ERRCODE_BASIC_NO_OBJECT             ERRCODE_SBX_NO_OBJECT               // Object variable not set
#define ERRCODE_BASIC_CANNOT_LOAD           ERRCODE_SBX_CANNOT_LOAD             // Can't load module
#define ERRCODE_BASIC_BAD_INDEX             ERRCODE_SBX_BAD_INDEX               // Invalid object index
#define ERRCODE_BASIC_NO_ACTIVE_OBJECT      ERRCODE_SBX_NO_ACTIVE_OBJECT        // No active view or document
#define ERRCODE_BASIC_BAD_PROP_VALUE        ERRCODE_SBX_BAD_PROP_VALUE          // Bad property value
#define ERRCODE_BASIC_PROP_READONLY         ERRCODE_SBX_PROP_READONLY           // Property is read only
#define ERRCODE_BASIC_PROP_WRITEONLY        ERRCODE_SBX_PROP_WRITEONLY          // Property is write only
#define ERRCODE_BASIC_INVALID_OBJECT        ERRCODE_SBX_INVALID_OBJECT          // Invalid object reference
#define ERRCODE_BASIC_NO_METHOD             ERRCODE_SBX_NO_METHOD               // Property or method not found
#define ERRCODE_BASIC_INVALID_USAGE_OBJECT  ERRCODE_SBX_INVALID_USAGE_OBJECT    // Invalid usee of object
#define ERRCODE_BASIC_NO_OLE                ERRCODE_SBX_NO_OLE                  // Class does not support OLE
#define ERRCODE_BASIC_BAD_METHOD            ERRCODE_SBX_BAD_METHOD              // Object doesn't support method
#define ERRCODE_BASIC_OLE_ERROR             ERRCODE_SBX_OLE_ERROR               // OLE Automation error
#define ERRCODE_BASIC_BAD_ACTION            ERRCODE_SBX_BAD_ACTION              // Object doesn't support this action
#define ERRCODE_BASIC_NO_NAMED_ARGS         ERRCODE_SBX_NO_NAMED_ARGS           // Object doesn't support named args
#define ERRCODE_BASIC_BAD_LOCALE            ERRCODE_SBX_BAD_LOCALE              // Object doesn't support current locale setting
#define ERRCODE_BASIC_NAMED_NOT_FOUND       ERRCODE_SBX_NAMED_NOT_FOUND         // Named argument not found
#define ERRCODE_BASIC_NOT_OPTIONAL          ERRCODE_SBX_NOT_OPTIONAL            // Argument not optional
#define ERRCODE_BASIC_WRONG_ARGS            ERRCODE_SBX_WRONG_ARGS              // Wrong number of arguments
#define ERRCODE_BASIC_NOT_A_COLL            ERRCODE_SBX_NOT_A_COLL              // Object not a collection

// Append Basic specific error messages to ERRCODE_AREA_SBX
#define ERRCODE_BASIC_NO_GOSUB              ((LAST_SBX_ERROR_ID+1UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Return without Gosub
#define ERRCODE_BASIC_REDO_FROM_START       ((LAST_SBX_ERROR_ID+2UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Redo form start (SB internal)
#define ERRCODE_BASIC_NO_MEMORY             ((LAST_SBX_ERROR_ID+3UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Out of memory
#define ERRCODE_BASIC_ALREADY_DIM           ((LAST_SBX_ERROR_ID+4UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Array already dimensioned
#define ERRCODE_BASIC_DUPLICATE_DEF         ((LAST_SBX_ERROR_ID+5UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Duplicate definition
#define ERRCODE_BASIC_VAR_UNDEFINED         ((LAST_SBX_ERROR_ID+6UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)          // Variable undefined (SB)
#define ERRCODE_BASIC_USER_ABORT            ((LAST_SBX_ERROR_ID+7UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // User interrupt occurred
#define ERRCODE_BASIC_BAD_RESUME            ((LAST_SBX_ERROR_ID+8UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Resume without error
#define ERRCODE_BASIC_STACK_OVERFLOW        ((LAST_SBX_ERROR_ID+9UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Out of stack space
#define ERRCODE_BASIC_BAD_DLL_LOAD          ((LAST_SBX_ERROR_ID+10UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Error in loading DLL
#define ERRCODE_BASIC_BAD_DLL_CALL          ((LAST_SBX_ERROR_ID+11UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Bad DLL calling convention
#define ERRCODE_BASIC_BAD_CHANNEL           ((LAST_SBX_ERROR_ID+12UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Bad file name or number
#define ERRCODE_BASIC_FILE_NOT_FOUND        ((LAST_SBX_ERROR_ID+13UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // File not found
#define ERRCODE_BASIC_BAD_FILE_MODE         ((LAST_SBX_ERROR_ID+14UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Bad file mode
#define ERRCODE_BASIC_FILE_ALREADY_OPEN     ((LAST_SBX_ERROR_ID+15UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // File already open
#define ERRCODE_BASIC_IO_ERROR              ((LAST_SBX_ERROR_ID+16UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)          // Device I/O error
#define ERRCODE_BASIC_FILE_EXISTS           ((LAST_SBX_ERROR_ID+17UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // File already exists
#define ERRCODE_BASIC_BAD_RECORD_LENGTH     ((LAST_SBX_ERROR_ID+18UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // bad record length
#define ERRCODE_BASIC_DISK_FULL             ((LAST_SBX_ERROR_ID+19UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // disk full
#define ERRCODE_BASIC_READ_PAST_EOF         ((LAST_SBX_ERROR_ID+20UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Input past end of file
#define ERRCODE_BASIC_BAD_RECORD_NUMBER     ((LAST_SBX_ERROR_ID+21UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Bad record number
#define ERRCODE_BASIC_TOO_MANY_FILES        ((LAST_SBX_ERROR_ID+22UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)          // Too many files
#define ERRCODE_BASIC_NO_DEVICE             ((LAST_SBX_ERROR_ID+23UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Device not available
#define ERRCODE_BASIC_ACCESS_DENIED         ((LAST_SBX_ERROR_ID+24UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Permission denied
#define ERRCODE_BASIC_NOT_READY             ((LAST_SBX_ERROR_ID+25UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Disk not ready
#define ERRCODE_BASIC_NOT_IMPLEMENTED       ((LAST_SBX_ERROR_ID+26UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Feature not implemented
#define ERRCODE_BASIC_DIFFERENT_DRIVE       ((LAST_SBX_ERROR_ID+27UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // No rename with different drive
#define ERRCODE_BASIC_ACCESS_ERROR          ((LAST_SBX_ERROR_ID+28UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Path/File access error
#define ERRCODE_BASIC_PATH_NOT_FOUND        ((LAST_SBX_ERROR_ID+29UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Path not found
#define ERRCODE_BASIC_BAD_PATTERN           ((LAST_SBX_ERROR_ID+30UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Invalid pattern string
#define ERRCODE_BASIC_IS_NULL               ((LAST_SBX_ERROR_ID+31UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Invalid use of Null

// DDE messages from 250-299
#define ERRCODE_BASIC_DDE_ERROR             ((LAST_SBX_ERROR_ID+32UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_WAITINGACK        ((LAST_SBX_ERROR_ID+33UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_OUTOFCHANNELS     ((LAST_SBX_ERROR_ID+34UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_NO_RESPONSE       ((LAST_SBX_ERROR_ID+35UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_MULT_RESPONSES    ((LAST_SBX_ERROR_ID+36UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_CHANNEL_LOCKED    ((LAST_SBX_ERROR_ID+37UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_NOTPROCESSED      ((LAST_SBX_ERROR_ID+38UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_TIMEOUT           ((LAST_SBX_ERROR_ID+39UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_USER_INTERRUPT    ((LAST_SBX_ERROR_ID+40UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_BUSY              ((LAST_SBX_ERROR_ID+41UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_NO_DATA           ((LAST_SBX_ERROR_ID+42UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_WRONG_DATA_FORMAT ((LAST_SBX_ERROR_ID+43UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_PARTNER_QUIT      ((LAST_SBX_ERROR_ID+44UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_CONV_CLOSED       ((LAST_SBX_ERROR_ID+45UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_NO_CHANNEL        ((LAST_SBX_ERROR_ID+46UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_INVALID_LINK      ((LAST_SBX_ERROR_ID+47UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_QUEUE_OVERFLOW    ((LAST_SBX_ERROR_ID+48UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_LINK_ALREADY_EST  ((LAST_SBX_ERROR_ID+49UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_LINK_INV_TOPIC    ((LAST_SBX_ERROR_ID+50UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)
#define ERRCODE_BASIC_DDE_DLL_NOT_FOUND     ((LAST_SBX_ERROR_ID+51UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)

#define ERRCODE_BASIC_NEEDS_OBJECT          ((LAST_SBX_ERROR_ID+52UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Object required
#define ERRCODE_BASIC_BAD_ORDINAL           ((LAST_SBX_ERROR_ID+53UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Invalid ordinal
#define ERRCODE_BASIC_DLLPROC_NOT_FOUND     ((LAST_SBX_ERROR_ID+54UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Specified DLL function not found
#define ERRCODE_BASIC_BAD_CLIPBD_FORMAT     ((LAST_SBX_ERROR_ID+55UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Invalid clipboard format

// Debugger messages from 700-799

#define ERRCODE_BASIC_PROPERTY_NOT_FOUND    ((LAST_SBX_ERROR_ID+56UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Class not have property
#define ERRCODE_BASIC_METHOD_NOT_FOUND      ((LAST_SBX_ERROR_ID+57UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Class does not have method
#define ERRCODE_BASIC_ARG_MISSING           ((LAST_SBX_ERROR_ID+58UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Missing required argument
#define ERRCODE_BASIC_BAD_NUMBER_OF_ARGS    ((LAST_SBX_ERROR_ID+59UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Bad number of arguments
#define ERRCODE_BASIC_METHOD_FAILED         ((LAST_SBX_ERROR_ID+60UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Method failed
#define ERRCODE_BASIC_SETPROP_FAILED        ((LAST_SBX_ERROR_ID+61UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Unable to set property
#define ERRCODE_BASIC_GETPROP_FAILED        ((LAST_SBX_ERROR_ID+62UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)              // Unable to get property

// Compiler Errors (do not occure at runtime)
// These IDs can shift at any time

#define ERRCODE_BASIC_UNEXPECTED            ((LAST_SBX_ERROR_ID+63UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Unexpected symbol: xx
// #define  ERRCODE_BASIC_COMPILER_BGN          ERRCODE_BASIC_UNEXPECTED
#define ERRCODE_BASIC_EXPECTED              ((LAST_SBX_ERROR_ID+64UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Expected: xx
#define ERRCODE_BASIC_SYMBOL_EXPECTED       ((LAST_SBX_ERROR_ID+65UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Symbol expected
#define ERRCODE_BASIC_VAR_EXPECTED          ((LAST_SBX_ERROR_ID+66UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Variable expected
#define ERRCODE_BASIC_LABEL_EXPECTED        ((LAST_SBX_ERROR_ID+67UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Label expected
#define ERRCODE_BASIC_LVALUE_EXPECTED       ((LAST_SBX_ERROR_ID+68UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Lvalue expected
#define ERRCODE_BASIC_VAR_DEFINED           ((LAST_SBX_ERROR_ID+69UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Variable xxx already defined
#define ERRCODE_BASIC_PROC_DEFINED          ((LAST_SBX_ERROR_ID+70UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Procedure xx already defined
#define ERRCODE_BASIC_LABEL_DEFINED         ((LAST_SBX_ERROR_ID+71UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Label xxx already defined
#define ERRCODE_BASIC_UNDEF_VAR             ((LAST_SBX_ERROR_ID+72UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Variable xx undefined
#define ERRCODE_BASIC_UNDEF_ARRAY           ((LAST_SBX_ERROR_ID+73UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Array or function xx undefined
#define ERRCODE_BASIC_UNDEF_PROC            ((LAST_SBX_ERROR_ID+74UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Procedure xxx undefined
#define ERRCODE_BASIC_UNDEF_LABEL           ((LAST_SBX_ERROR_ID+75UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Label xxx undefined
#define ERRCODE_BASIC_UNDEF_TYPE            ((LAST_SBX_ERROR_ID+76UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Unknown user defined type xxx
#define ERRCODE_BASIC_BAD_EXIT              ((LAST_SBX_ERROR_ID+77UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Exit XXX expected
#define ERRCODE_BASIC_BAD_BLOCK             ((LAST_SBX_ERROR_ID+78UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Unterminated statement block: missing XX
#define ERRCODE_BASIC_BAD_BRACKETS          ((LAST_SBX_ERROR_ID+79UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Parentheses do not match
#define ERRCODE_BASIC_BAD_DECLARATION       ((LAST_SBX_ERROR_ID+80UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Symbol xx defined differently
#define ERRCODE_BASIC_BAD_PARAMETERS        ((LAST_SBX_ERROR_ID+81UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Parameters do not match
#define ERRCODE_BASIC_BAD_CHAR_IN_NUMBER    ((LAST_SBX_ERROR_ID+82UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Bad character in number
#define ERRCODE_BASIC_MUST_HAVE_DIMS        ((LAST_SBX_ERROR_ID+83UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Array needs dimensioning
#define ERRCODE_BASIC_NO_IF                 ((LAST_SBX_ERROR_ID+84UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Else/Endif without If
#define ERRCODE_BASIC_NOT_IN_SUBR           ((LAST_SBX_ERROR_ID+85UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // xxx not allowed within a sub
#define ERRCODE_BASIC_NOT_IN_MAIN           ((LAST_SBX_ERROR_ID+86UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // xxx not allowed outside a sub
#define ERRCODE_BASIC_WRONG_DIMS            ((LAST_SBX_ERROR_ID+87UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Dimensions do not match
#define ERRCODE_BASIC_BAD_OPTION            ((LAST_SBX_ERROR_ID+88UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Unknown option: xxx
#define ERRCODE_BASIC_CONSTANT_REDECLARED   ((LAST_SBX_ERROR_ID+89UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Constant xx redeclared
#define ERRCODE_BASIC_PROG_TOO_LARGE        ((LAST_SBX_ERROR_ID+90UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Program is too large
#define ERRCODE_BASIC_NO_STRINGS_ARRAYS     ((LAST_SBX_ERROR_ID+91UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)

#define ERRCODE_BASIC_EXCEPTION             ((LAST_SBX_ERROR_ID+92UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_RUNTIME)

#define ERRCODE_BASMGR_STDLIBOPEN           (LAST_SBX_ERROR_ID+93UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_STDLIBSAVE           (LAST_SBX_ERROR_ID+94UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_LIBLOAD              (LAST_SBX_ERROR_ID+95UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_LIBCREATE            (LAST_SBX_ERROR_ID+96UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_LIBSAVE              (LAST_SBX_ERROR_ID+97UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_LIBDEL               (LAST_SBX_ERROR_ID+98UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_MGROPEN              (LAST_SBX_ERROR_ID+99UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_MGRSAVE              (LAST_SBX_ERROR_ID+100UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_REMOVELIB            (LAST_SBX_ERROR_ID+101UL) | ERRCODE_AREA_SBX
#define ERRCODE_BASMGR_UNLOADLIB            (LAST_SBX_ERROR_ID+102UL) | ERRCODE_AREA_SBX

#define ERRCODE_BASIC_ARRAY_FIX             ((LAST_SBX_ERROR_ID+104UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // This array is fixed
#define ERRCODE_BASIC_STRING_OVERFLOW       ((LAST_SBX_ERROR_ID+105UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Out of string space
#define ERRCODE_BASIC_EXPR_TOO_COMPLEX      ((LAST_SBX_ERROR_ID+106UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Expression too complex
#define ERRCODE_BASIC_OPER_NOT_PERFORM      ((LAST_SBX_ERROR_ID+107UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Can't perform requested operation
#define ERRCODE_BASIC_TOO_MANY_DLL          ((LAST_SBX_ERROR_ID+108UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // Too many dll application clients
#define ERRCODE_BASIC_LOOP_NOT_INIT         ((LAST_SBX_ERROR_ID+109UL) | ERRCODE_AREA_SBX | \
                                            ERRCODE_CLASS_COMPILER)             // For loop not initialized

// Map old codes to new codes
#define SbERR_SYNTAX                        ERRCODE_BASIC_SYNTAX
#define SbERR_NO_GOSUB                      ERRCODE_BASIC_NO_GOSUB
#define SbERR_REDO_FROM_START               ERRCODE_BASIC_REDO_FROM_START
#define SbERR_BAD_ARGUMENT                  ERRCODE_BASIC_BAD_ARGUMENT
#define SbERR_MATH_OVERFLOW                 ERRCODE_BASIC_MATH_OVERFLOW
#define SbERR_NO_MEMORY                     ERRCODE_BASIC_NO_MEMORY
#define SbERR_ALREADY_DIM                   ERRCODE_BASIC_ALREADY_DIM
#define SbERR_OUT_OF_RANGE                  ERRCODE_BASIC_OUT_OF_RANGE
#define SbERR_DUPLICATE_DEF                 ERRCODE_BASIC_DUPLICATE_DEF
#define SbERR_ZERODIV                       ERRCODE_BASIC_ZERODIV
#define SbERR_VAR_UNDEFINED                 ERRCODE_BASIC_VAR_UNDEFINED
#define SbERR_CONVERSION                    ERRCODE_BASIC_CONVERSION
#define SbERR_BAD_PARAMETER                 ERRCODE_BASIC_BAD_PARAMETER
#define SbERR_USER_ABORT                    ERRCODE_BASIC_USER_ABORT
#define SbERR_BAD_RESUME                    ERRCODE_BASIC_BAD_RESUME
#define SbERR_STACK_OVERFLOW                ERRCODE_BASIC_STACK_OVERFLOW
#define SbERR_PROC_UNDEFINED                ERRCODE_BASIC_PROC_UNDEFINED
#define SbERR_BAD_DLL_LOAD                  ERRCODE_BASIC_BAD_DLL_LOAD
#define SbERR_BAD_DLL_CALL                  ERRCODE_BASIC_BAD_DLL_CALL
#define SbERR_INTERNAL_ERROR                ERRCODE_BASIC_INTERNAL_ERROR
#define SbERR_BAD_CHANNEL                   ERRCODE_BASIC_BAD_CHANNEL
#define SbERR_FILE_NOT_FOUND                ERRCODE_BASIC_FILE_NOT_FOUND
#define SbERR_BAD_FILE_MODE                 ERRCODE_BASIC_BAD_FILE_MODE
#define SbERR_FILE_ALREADY_OPEN             ERRCODE_BASIC_FILE_ALREADY_OPEN
#define SbERR_IO_ERROR                      ERRCODE_BASIC_IO_ERROR
#define SbERR_FILE_EXISTS                   ERRCODE_BASIC_FILE_EXISTS
#define SbERR_BAD_RECORD_LENGTH             ERRCODE_BASIC_BAD_RECORD_LENGTH
#define SbERR_DISK_FULL                     ERRCODE_BASIC_DISK_FULL
#define SbERR_READ_PAST_EOF                 ERRCODE_BASIC_READ_PAST_EOF
#define SbERR_BAD_RECORD_NUMBER             ERRCODE_BASIC_BAD_RECORD_NUMBER
#define SbERR_TOO_MANY_FILES                ERRCODE_BASIC_TOO_MANY_FILES
#define SbERR_NO_DEVICE                     ERRCODE_BASIC_NO_DEVICE
#define SbERR_ACCESS_DENIED                 ERRCODE_BASIC_ACCESS_DENIED
#define SbERR_NOT_READY                     ERRCODE_BASIC_NOT_READY
#define SbERR_NOT_IMPLEMENTED               ERRCODE_BASIC_NOT_IMPLEMENTED
#define SbERR_DIFFERENT_DRIVE               ERRCODE_BASIC_DIFFERENT_DRIVE
#define SbERR_ACCESS_ERROR                  ERRCODE_BASIC_ACCESS_ERROR
#define SbERR_PATH_NOT_FOUND                ERRCODE_BASIC_PATH_NOT_FOUND
#define SbERR_NO_OBJECT                     ERRCODE_BASIC_NO_OBJECT
#define SbERR_BAD_PATTERN                   ERRCODE_BASIC_BAD_PATTERN
#define SBERR_IS_NULL                       ERRCODE_BASIC_IS_NULL
#define SbERR_DDE_ERROR                     ERRCODE_BASIC_DDE_ERROR
#define SbERR_DDE_WAITINGACK                ERRCODE_BASIC_DDE_WAITINGACK
#define SbERR_DDE_OUTOFCHANNELS             ERRCODE_BASIC_DDE_OUTOFCHANNELS
#define SbERR_DDE_NO_RESPONSE               ERRCODE_BASIC_DDE_NO_RESPONSE
#define SbERR_DDE_MULT_RESPONSES            ERRCODE_BASIC_DDE_MULT_RESPONSES
#define SbERR_DDE_CHANNEL_LOCKED            ERRCODE_BASIC_DDE_CHANNEL_LOCKED
#define SbERR_DDE_NOTPROCESSED              ERRCODE_BASIC_DDE_NOTPROCESSED
#define SbERR_DDE_TIMEOUT                   ERRCODE_BASIC_DDE_TIMEOUT
#define SbERR_DDE_USER_INTERRUPT            ERRCODE_BASIC_DDE_USER_INTERRUPT
#define SbERR_DDE_BUSY                      ERRCODE_BASIC_DDE_BUSY
#define SbERR_DDE_NO_DATA                   ERRCODE_BASIC_DDE_NO_DATA
#define SbERR_DDE_WRONG_DATA_FORMAT         ERRCODE_BASIC_DDE_WRONG_DATA_FORMAT
#define SbERR_DDE_PARTNER_QUIT              ERRCODE_BASIC_DDE_PARTNER_QUIT
#define SbERR_DDE_CONV_CLOSED               ERRCODE_BASIC_DDE_CONV_CLOSED
#define SbERR_DDE_NO_CHANNEL                ERRCODE_BASIC_DDE_NO_CHANNEL
#define SbERR_DDE_INVALID_LINK              ERRCODE_BASIC_DDE_INVALID_LINK
#define SbERR_DDE_QUEUE_OVERFLOW            ERRCODE_BASIC_DDE_QUEUE_OVERFLOW
#define SbERR_DDE_LINK_ALREADY_EST          ERRCODE_BASIC_DDE_LINK_ALREADY_EST
#define SbERR_DDE_LINK_INV_TOPIC            ERRCODE_BASIC_DDE_LINK_INV_TOPIC
#define SbERR_DDE_DLL_NOT_FOUND             ERRCODE_BASIC_DDE_DLL_NOT_FOUND
#define SbERR_CANNOT_LOAD                   ERRCODE_BASIC_CANNOT_LOAD
#define SbERR_BAD_INDEX                     ERRCODE_BASIC_BAD_INDEX
#define SbERR_NO_ACTIVE_OBJECT              ERRCODE_BASIC_NO_ACTIVE_OBJECT
#define SbERR_BAD_PROP_VALUE                ERRCODE_BASIC_BAD_PROP_VALUE
#define SbERR_PROP_READONLY                 ERRCODE_BASIC_PROP_READONLY
#define SbERR_PROP_WRITEONLY                ERRCODE_BASIC_PROP_WRITEONLY
#define SbERR_INVALID_OBJECT                ERRCODE_BASIC_INVALID_OBJECT
#define SbERR_NO_METHOD                     ERRCODE_BASIC_NO_METHOD
#define SbERR_NEEDS_OBJECT                  ERRCODE_BASIC_NEEDS_OBJECT
#define SbERR_INVALID_USAGE_OBJECT          ERRCODE_BASIC_INVALID_USAGE_OBJECT
#define SbERR_NO_OLE                        ERRCODE_BASIC_NO_OLE
#define SbERR_BAD_METHOD                    ERRCODE_BASIC_BAD_METHOD
#define SbERR_OLE_ERROR                     ERRCODE_BASIC_OLE_ERROR
#define SbERR_BAD_ACTION                    ERRCODE_BASIC_BAD_ACTION
#define SbERR_NO_NAMED_ARGS                 ERRCODE_BASIC_NO_NAMED_ARGS
#define SbERR_BAD_LOCALE                    ERRCODE_BASIC_BAD_LOCALE
#define SbERR_NAMED_NOT_FOUND               ERRCODE_BASIC_NAMED_NOT_FOUND
#define SbERR_NOT_OPTIONAL                  ERRCODE_BASIC_NOT_OPTIONAL
#define SbERR_WRONG_ARGS                    ERRCODE_BASIC_WRONG_ARGS
#define SbERR_NOT_A_COLL                    ERRCODE_BASIC_NOT_A_COLL
#define SbERR_BAD_ORDINAL                   ERRCODE_BASIC_BAD_ORDINAL
#define SbERR_DLLPROC_NOT_FOUND             ERRCODE_BASIC_DLLPROC_NOT_FOUND
#define SbERR_BAD_CLIPBD_FORMAT             ERRCODE_BASIC_BAD_CLIPBD_FORMAT
#define SbERR_PROPERTY_NOT_FOUND            ERRCODE_BASIC_PROPERTY_NOT_FOUND
#define SbERR_METHOD_NOT_FOUND              ERRCODE_BASIC_METHOD_NOT_FOUND
#define SbERR_ARG_MISSING                   ERRCODE_BASIC_ARG_MISSING
#define SbERR_BAD_NUMBER_OF_ARGS            ERRCODE_BASIC_BAD_NUMBER_OF_ARGS
#define SbERR_METHOD_FAILED                 ERRCODE_BASIC_METHOD_FAILED
#define SbERR_SETPROP_FAILED                ERRCODE_BASIC_SETPROP_FAILED
#define SbERR_GETPROP_FAILED                ERRCODE_BASIC_GETPROP_FAILED
// #define  SbERR_COMPILER_BGN                  ERRCODE_BASIC_COMPILER_BGN
#define SbERR_UNEXPECTED                    ERRCODE_BASIC_UNEXPECTED
#define SbERR_EXPECTED                      ERRCODE_BASIC_EXPECTED
#define SbERR_SYMBOL_EXPECTED               ERRCODE_BASIC_SYMBOL_EXPECTED
#define SbERR_VAR_EXPECTED                  ERRCODE_BASIC_VAR_EXPECTED
#define SbERR_LABEL_EXPECTED                ERRCODE_BASIC_LABEL_EXPECTED
#define SbERR_LVALUE_EXPECTED               ERRCODE_BASIC_LVALUE_EXPECTED
#define SbERR_VAR_DEFINED                   ERRCODE_BASIC_VAR_DEFINED
#define SbERR_PROC_DEFINED                  ERRCODE_BASIC_PROC_DEFINED
#define SbERR_LABEL_DEFINED                 ERRCODE_BASIC_LABEL_DEFINED
#define SbERR_UNDEF_VAR                     ERRCODE_BASIC_UNDEF_VAR
#define SbERR_UNDEF_ARRAY                   ERRCODE_BASIC_UNDEF_ARRAY
#define SbERR_UNDEF_PROC                    ERRCODE_BASIC_UNDEF_PROC
#define SbERR_UNDEF_LABEL                   ERRCODE_BASIC_UNDEF_LABEL
#define SbERR_UNDEF_TYPE                    ERRCODE_BASIC_UNDEF_TYPE
#define SbERR_BAD_EXIT                      ERRCODE_BASIC_BAD_EXIT
#define SbERR_BAD_BLOCK                     ERRCODE_BASIC_BAD_BLOCK
#define SbERR_BAD_BRACKETS                  ERRCODE_BASIC_BAD_BRACKETS
#define SbERR_BAD_DECLARATION               ERRCODE_BASIC_BAD_DECLARATION
#define SbERR_BAD_PARAMETERS                ERRCODE_BASIC_BAD_PARAMETERS
#define SbERR_BAD_CHAR_IN_NUMBER            ERRCODE_BASIC_BAD_CHAR_IN_NUMBER
#define SbERR_MUST_HAVE_DIMS                ERRCODE_BASIC_MUST_HAVE_DIMS
#define SbERR_NO_IF                         ERRCODE_BASIC_NO_IF
#define SbERR_NOT_IN_SUBR                   ERRCODE_BASIC_NOT_IN_SUBR
#define SbERR_NOT_IN_MAIN                   ERRCODE_BASIC_NOT_IN_MAIN
#define SbERR_WRONG_DIMS                    ERRCODE_BASIC_WRONG_DIMS
#define SbERR_BAD_OPTION                    ERRCODE_BASIC_BAD_OPTION
#define SbERR_CONSTANT_REDECLARED           ERRCODE_BASIC_CONSTANT_REDECLARED
#define SbERR_PROG_TOO_LARGE                ERRCODE_BASIC_PROG_TOO_LARGE
#define SbERR_NO_STRINGS_ARRAYS             ERRCODE_BASIC_NO_STRINGS_ARRAYS
#define SbERR_BASIC_EXCEPTION               ERRCODE_BASIC_EXCEPTION
#define SbERR_BASIC_ARRAY_FIX               ERRCODE_BASIC_ARRAY_FIX
#define SbERR_BASIC_STRING_OVERFLOW         ERRCODE_BASIC_STRING_OVERFLOW
#define SbERR_BASIC_EXPR_TOO_COMPLEX        ERRCODE_BASIC_EXPR_TOO_COMPLEX
#define SbERR_BASIC_OPER_NOT_PERFORM        ERRCODE_BASIC_OPER_NOT_PERFORM
#define SbERR_BASIC_TOO_MANY_DLL            ERRCODE_BASIC_TOO_MANY_DLL
#define SbERR_BASIC_LOOP_NOT_INIT           ERRCODE_BASIC_LOOP_NOT_INIT
// #define  SbERR_COMPILER_END                  ERRCODE_BASIC_COMPILER_END

/* ALT
#define SbERR_SYNTAX                2       // unspecified syntax error
#define SbERR_NO_GOSUB              3       // Return without Gosub
#define SbERR_REDO_FROM_START       4       // Redo form start (SB internal)
#define SbERR_BAD_ARGUMENT          5       // Invalid procedure call
#define SbERR_MATH_OVERFLOW         6       // Overflow
#define SbERR_NO_MEMORY             7       // Out of memory
#define SbERR_ALREADY_DIM           8       // Array already dimensioned
#define SbERR_OUT_OF_RANGE          9       // Subscript out of range
#define SbERR_DUPLICATE_DEF         10      // Duplicate definition
#define SbERR_ZERODIV               11      // Division by zero
#define SbERR_VAR_UNDEFINED         12      // Variable undefined (SB)
#define SbERR_CONVERSION            13      // Type mismatch
#define SbERR_BAD_PARAMETER         14      // Invalid Parameter
#define SbERR_USER_ABORT            18      // User interrupt occurred
#define SbERR_BAD_RESUME            20      // Resume without error
#define SbERR_STACK_OVERFLOW        28      // Out of stack space
#define SbERR_PROC_UNDEFINED        35      // Sub or Function not defined
#define SbERR_BAD_DLL_LOAD          48      // Error in loading DLL
#define SbERR_BAD_DLL_CALL          49      // Bad DLL calling convention
#define SbERR_INTERNAL_ERROR        51      // internal error
#define SbERR_BAD_CHANNEL           52      // Bad file name or number
#define SbERR_FILE_NOT_FOUND        53      // File not found
#define SbERR_BAD_FILE_MODE         54      // Bad file mode
#define SbERR_FILE_ALREADY_OPEN     55      // File already open
#define SbERR_IO_ERROR              57      // Device I/O error
#define SbERR_FILE_EXISTS           58      // File already exists
#define SbERR_BAD_RECORD_LENGTH     59      // bad record length
#define SbERR_DISK_FULL             61      // disk full
#define SbERR_READ_PAST_EOF         62      // Input past end of file
#define SbERR_BAD_RECORD_NUMBER     63      // Bad record number
#define SbERR_TOO_MANY_FILES        67      // Too many files
#define SbERR_NO_DEVICE             68      // Device not available
#define SbERR_ACCESS_DENIED         70      // Permission denied
#define SbERR_NOT_READY             71      // Disk not ready
#define SbERR_NOT_IMPLEMENTED       73      // Feature not implemented
#define SbERR_DIFFERENT_DRIVE       74      // No rename with different drive
#define SbERR_ACCESS_ERROR          75      // Path/File access error
#define SbERR_PATH_NOT_FOUND        76      // Path not found
#define SbERR_NO_OBJECT             91      // Object variable not set
#define SbERR_BAD_PATTERN           93      // Invalid pattern string
#define SBERR_IS_NULL               94      // Invalid use of Null

// DDE messages from 250-299
#define SbERR_DDE_ERROR             250
#define SbERR_DDE_WAITINGACK        280
#define SbERR_DDE_OUTOFCHANNELS     281
#define SbERR_DDE_NO_RESPONSE       282
#define SbERR_DDE_MULT_RESPONSES    283
#define SbERR_DDE_CHANNEL_LOCKED    284
#define SbERR_DDE_NOTPROCESSED      285
#define SbERR_DDE_TIMEOUT           286
#define SbERR_DDE_USER_INTERRUPT    287
#define SbERR_DDE_BUSY              288
#define SbERR_DDE_NO_DATA           289
#define SbERR_DDE_WRONG_DATA_FORMAT 290
#define SbERR_DDE_PARTNER_QUIT      291
#define SbERR_DDE_CONV_CLOSED       292
#define SbERR_DDE_NO_CHANNEL        293
#define SbERR_DDE_INVALID_LINK      294
#define SbERR_DDE_QUEUE_OVERFLOW    295
#define SbERR_DDE_LINK_ALREADY_EST  296
#define SbERR_DDE_LINK_INV_TOPIC    297
#define SbERR_DDE_DLL_NOT_FOUND     298

#define SbERR_CANNOT_LOAD           323     // Can't load module
#define SbERR_BAD_INDEX             341     // Invalid object index
#define SbERR_NO_ACTIVE_OBJECT      366     // No active view or document
#define SbERR_BAD_PROP_VALUE        380     // Bad property value
#define SbERR_PROP_READONLY         382     // Property is read only
#define SbERR_PROP_WRITEONLY        394     // Property is write only
#define SbERR_INVALID_OBJECT        420     // Invalid object reference
#define SbERR_NO_METHOD             423     // Property or method not found
#define SbERR_NEEDS_OBJECT          424     // Object required
#define SbERR_INVALID_USAGE_OBJECT  425     // Invalid usee of object
#define SbERR_NO_OLE                430     // Class does not support OLE
#define SbERR_BAD_METHOD            438     // Object doesn't support method
#define SbERR_OLE_ERROR             440     // OLE Automation error
#define SbERR_BAD_ACTION            445     // Object doesn't support this action
#define SbERR_NO_NAMED_ARGS         446     // Object doesn't support named args
#define SbERR_BAD_LOCALE            447     // Object doesn't support current locale setting
#define SbERR_NAMED_NOT_FOUND       448     // Named argument not found
#define SbERR_NOT_OPTIONAL          449     // Argument not optional
#define SbERR_WRONG_ARGS            450     // Wrong number of arguments
#define SbERR_NOT_A_COLL            451     // Object not a collection
#define SbERR_BAD_ORDINAL           452     // Invalid ordinal
#define SbERR_DLLPROC_NOT_FOUND     453     // Specified DLL function not found
#define SbERR_BAD_CLIPBD_FORMAT     460     // Invalid clipboard format

// Debugger messages from 700-799

#define SbERR_PROPERTY_NOT_FOUND    1000    // Class not have property
#define SbERR_METHOD_NOT_FOUND      1001    // Class does not have method
#define SbERR_ARG_MISSING           1002    // Missing required argument
#define SbERR_BAD_NUMBER_OF_ARGS    1003    // Bad number of arguments
#define SbERR_METHOD_FAILED         1004    // Method failed
#define SbERR_SETPROP_FAILED        1005    // Unable to set property
#define SbERR_GETPROP_FAILED        1006    // Unable to get property

// Compiler Errors (do not happen at runtime)
// These IDs can shift at any time

#define SbERR_COMPILER_BGN          950
#define SbERR_UNEXPECTED            951 // Unexpected symbol: xx
#define SbERR_EXPECTED              952 // Expected: xx
#define SbERR_SYMBOL_EXPECTED       953 // Symbol expected
#define SbERR_VAR_EXPECTED          954 // Variable expected
#define SbERR_LABEL_EXPECTED        955 // Label expected
#define SbERR_LVALUE_EXPECTED       956 // Lvalue expected
#define SbERR_VAR_DEFINED           957 // Variable xxx already defined
#define SbERR_PROC_DEFINED          958 // Procedure xx already defined
#define SbERR_LABEL_DEFINED         959 // Label xxx already defined
#define SbERR_UNDEF_VAR             960 // Variable xx undefined
#define SbERR_UNDEF_ARRAY           961 // Array or function xx undefined
#define SbERR_UNDEF_PROC            962 // Procedure xxx undefined
#define SbERR_UNDEF_LABEL           963 // Label xxx undefined
#define SbERR_UNDEF_TYPE            964 // Unknown user defined type xxx
#define SbERR_BAD_EXIT              965 // Exit XXX expexted
#define SbERR_BAD_BLOCK             966 // Unterminated statement block: missing XX
#define SbERR_BAD_BRACKETS          967 // Parentheses do not match
#define SbERR_BAD_DECLARATION       968 // Symbol xx defined differently
#define SbERR_BAD_PARAMETERS        969 // Parameters do not match
#define SbERR_BAD_CHAR_IN_NUMBER    970 // Bad character in number
#define SbERR_MUST_HAVE_DIMS        971 // Array needs dimensioning
#define SbERR_NO_IF                 972 // Else/Endif without If
#define SbERR_NOT_IN_SUBR           973 // xxx not allowed within a sub
#define SbERR_NOT_IN_MAIN           974 // xxx not allowed outside a sub
#define SbERR_WRONG_DIMS            975 // Dimensions do not match
#define SbERR_BAD_OPTION            976 // Unknown option: xxx
#define SbERR_CONSTANT_REDECLARED   977 // Constant xx redeclared
#define SbERR_PROG_TOO_LARGE        978 // Program is too large
#define SbERR_NO_STRINGS_ARRAYS     979
#define SbERR_COMPILER_END          299
*/

// Grid messages from 30000-30999
// OLE messages from 31000-31999

#endif