Hallo XProfaner.
Ich benutze folgende Inc, die ich in Großprojekte einbaue, um klarere Fehlermeldungen zu erhalten:
Code
proc Error_
Parameters err%
declare e$
Select err%
caseof 300
e$="Datei kann nicht gelesen werden."
caseof 301
e$="Datei kann nicht erzeugt werden."
caseof 302
e$="Fehler beim Lesen."
caseof 303
e$="Fehler beim Schreiben."
caseof 304
e$="PROF16.EXE nicht ausführbar oder fehlt!"
caseof 305
e$="REGISTRY."
caseof 307
e$="Fensterobjekt nicht vorhanden!"
caseof 308
e$="Datei kann nicht kopiert werden!"
caseof 309
e$="Ungültige Datei."
caseof 310
e$="Kein freies Datei-Handle."
caseof 311
e$="FindFirst$ fehlt."
caseof 350
e$="Internetverbindung nicht möglich."
caseof 351
e$="URL konnte nicht geöffnet werden."
caseof 306,601
e$="Datei nicht gefunden."
caseof 600
e$="dB-Fehler."
caseof 602
e$="Doppelter Feldname."
caseof 603
e$="Ungültige Feldlänge."
caseof 604
e$="Ungültige Dezimalstellen."
caseof 605
e$="Index-Datei nicht in Ordnung."
caseof 606
e$="Feld nicht gefunden."
caseof 607
e$="Dateiname fehlerhaft."
caseof 608
e$="Schlüsselfeld nicht in Ordnung."
caseof 609
e$="abellennummer nicht im erlaubten Bereich!"
caseof 610
e$="Tabellennummer noch nicht vergeben!"
caseof 611
e$="Formel nicht in Ordnung."
caseof 612
e$="Feld beim Lesen nicht gefunden."
caseof 613
e$="Feldnummer beim Lesen nicht gefunden."
caseof 614
e$="Feld zum Schreiben nicht gefunden."
caseof 615
e$="Feldnummer zum Schreiben nicht gefunden."
caseof 616
e$="Index-Dateiname fehlerhaft."
caseof 617
e$="Ungültige Eingabe."
caseof 618
e$="Es ist keine Tabelle geöffnet!"
caseof 100
e$="Systemvariable unbekannt."
caseof 101
e$="Funktion unbekannt."
caseof 102
e$="Befehl unbekannt."
caseof 103
e$="Integer-Variable erwartet."
caseof 104
e$="Dateikennung erwartet."
caseof 105
e$="Tabellenkennung erwartet."
caseof 106
e$="ENDIF bzw. ELSE nicht gefunden."
caseof 107
e$="ENDIF nicht gefunden."
caseof 108
e$="Zu tiefe WHILE-Verschachtelung."
caseof 109
e$="ENDWHILE bzw. WHILE nicht gefunden."
caseof 110
e$="WHILE fehlt."
caseof 111
e$="GOSUB/PROC fehlt."
caseof 112
e$="PROC fehlt."
caseof 113
e$="Label nicht gefunden."
caseof 114
e$="Zu tiefe GOSUB/PROC-Verschachtelung."
caseof 115
e$="ENDPROC nicht gefunden."
caseof 116
e$="\qDIM%\q darf nur einmal verwandt werden."
caseof 117
e$="\qDIM&\q darf nur einmal verwandt werden."
caseof 118
e$="\qDIM$\q darf nur einmal verwandt werden."
caseof 119
e$="\qDIM!\q darf nur einmal verwandt werden."
caseof 120
e$="STARTPRINT fehlt."
caseof 121
e$="Bereichs-Variable erwartet."
caseof 122
e$="Variablenbezeichner fehlerhaft."
caseof 123
e$="Variablenname zu lang."
caseof 124
e$="STARTPAINT fehlt."
caseof 125
e$="SUBPOPUP fehlt."
caseof 126
e$="IF oder IFNOT fehlt."
caseof 127
e$="Befehl hinter CASE fehlt."
caseof 128
e$="Strukturbezeichner erwartet."
caseof 129
e$="Strukturbezeichner fehlerhaft."
caseof 130
e$="Strukturbezeichner zu lang."
caseof 131
e$="Variablenbezeichner erwartet."
caseof 132
e$="WITH-Verschachtelung nicht erlaubt."
caseof 133
e$="WITH fehlt."
caseof 134
e$="16-Bit DLLs werden von XProfan nicht mehr unterstützt."
caseof 135
e$="Klasse nicht gefunden."
caseof 136
e$="Direktiven sind nur am Zeilenanfang erlaubt."
caseof 137
e$="Zu tiefe IF/IFNOT-Verschachtelung."
caseof 138
e$="$IFDEF oder $IFNDEF fehlt!"
caseof 139
e$="Zu tiefe $IFDEF/$IFNDEF-Verschachtelung!"
caseof 140
e$="SELECT fehlt!"
caseof 141
e$="Zu tiefe SELECT-Verschachtelung!"
caseof 142
e$="ENDSELECT bzw. OTHERWISE nicht gefunden!"
caseof 143
e$="ENDSELECT nicht gefunden!"
caseof 144
e$="ERRORPROC nicht gefunden!"
caseof 145
e$="Variablentyp bei VAR nicht erlaubt."
caseof 146
e$="Nur Zuweisung mittels NEW() erlaubt."
caseof 147
e$="Variable doppelt deklariert."
caseof 148
e$="Dynamisches Bereichsarray nicht erlaubt."
caseof 149
e$="Dynamisches Array ist eindimensional!"
caseof 150
e$="Dynamisches Array bei INPUT nicht erlaubt."
caseof 151
e$="SUBCLASSPROC nicht gefunden!"
caseof 152
e$="SUBCLASSPROC mehr als einmal vorhanden!"
caseof 153
e$="ERRORPROC mehr as einmal vorhanden!"
caseof 154
e$="Nur in SUBCLASSPROC erlaubt!"
caseof 155
e$="DOWNLOADFILE bereits/noch aktiv!"
caseof 156
e$="Ungültiger Matrix-Operator."
caseof 157
e$="Ungültiger Operator!"
caseof 158
e$="Ungültiges Ersatzzeichen."
caseof 199
e$="Befehl oder Funktion wird nicht mehr unterstützt."
caseof 200
e$="Ungültiger Funktionswert."
caseof 201
e$="Division durch 0."
caseof 202
e$="Falscher Typ für DTOC$."
caseof 203
e$="Falscher Typ für CTOD$."
caseof 204
e$="String-Index ist < 1."
caseof 205
e$="Substring-Nr ist < 1."
caseof 206
e$="So viele Elemente sind nicht da."
caseof 207
e$="Bereichsgrenze überschritten."
caseof 208
e$="Kommandozeilenparameter fehlt."
caseof 209
e$="Datei nicht gefunden."
caseof 210
e$="Dateinummer nicht im erlaubten Bereich."
caseof 211
e$="Parameterzahl muss zwischen 0 und 15 liegen."
caseof 212
e$="Zu wenig Parameter."
caseof 213
e$="Funktionsargument fehlt."
caseof 214
e$="Keine Zahl."
caseof 215
e$="Variable nicht deklariert."
caseof 216
e$="Falscher Parametertyp."
caseof 217
e$="Speicher für Integer-Variablen erschöpft."
caseof 218
e$="Speicher für LongInt-Variablen erschöpft."
caseof 219
e$="Speicher für String-Variablen erschöpft."
caseof 220
e$="Speicher für Float-Variablen erschöpft."
caseof 221
e$="Während der Druckausgabe verboten."
caseof 222
e$="Box nicht innerhalb des Fensters."
caseof 223
e$="Negative Fenstergröße."
caseof 224
e$="ICON nicht vorhanden."
caseof 225
e$="ICON nicht vorhanden! (Nur 0..4)."
caseof 226
e$="Fehler bei der Menüerstellung."
caseof 227
e$="Zu tiefe Menüverschachtelung."
caseof 228
e$="Bitmap nicht ladbar."
caseof 229
e$="Bitmap konnte nicht gespeichert werden."
caseof 230
e$="Cursor nicht vorhanden! (Nur 0..16)."
caseof 231
e$="Es sind lediglich 0 bis xxxxx Elemente erlaubt."
caseof 232
e$="Zu viele Elemente."
caseof 233
e$="Das Element gibt es nicht."
caseof 234
e$="Fehler bei der Tonerzeugung."
caseof 235
e$="Drucken ist nicht möglich."
caseof 236
e$="Fehler bei der HardCopy."
caseof 237
e$="Der Befehl setzt ein Fenster voraus."
caseof 238
e$="Stringende fehlt."
caseof 239
e$="Speicher für Bereichs-Variablen erschöpft."
caseof 240
e$="Zu wenig Speicher für Bereichs-Variable."
caseof 241
e$="Bereichsvariable ist bereits DIMensioniert."
caseof 242
e$="Ungültiges Fenster-Handle."
caseof 243
e$="Bereichsvariable ist nicht DIMensioniert."
caseof 244
e$="Der Text paßt nicht komplett in die Bereichsvariable."
caseof 245
e$="Die Parameterzahl unterscheidet sich von der Parameterbeschreibung."
caseof 246
e$="Ungültiger Typ in der Parameterbeschreibung."
caseof 247
e$="Fehler beim Laden der DLL."
caseof 248
e$="Funktion in DLL nicht vohanden."
caseof 249
e$="Zwischen STARTPAINT/ENDPAINT verboten."
caseof 250
e$="SETTIMER fehlt."
caseof 251
e$="Der TIMER ist schon eingestellt."
caseof 252
e$="Menü ist nicht ladbar."
caseof 253
e$="Speicher für Array-Variablen erschöpft."
caseof 254
e$="Maximal drei Dimensionen erlaubtn."
caseof 255
e$="Klammern nicht ausgewogen."
caseof 256
e$="Zu viele Strukturvariablen."
caseof 257
e$="Fehler in Strukturdefinition."
caseof 258
e$="Zu viele Strukturen."
caseof 259
e$="Struktur nicht definiert."
caseof 260
e$="Definition im Header fehlt."
caseof 261
e$="Unbekanntes Create-Objekt."
caseof 262
e$="Unbekannter Schalter."
caseof 263
e$="Unbekannte Subfunktion."
caseof 264
e$="Ungültige WHILELOOP-Parameter."
caseof 265
e$="Doppelter Name in Struktur oder Klasse."
caseof 266
e$="Die beerbte Klasse muss an erster Stelle stehen."
caseof 267
e$="Methode fehlt."
caseof 268
e$="Prozedur nicht gefunden."
caseof 269
e$="Kein freier CALLBACK mit der gewünschten Parameterzahl."
caseof 270
e$="Kein Zugriff auf geschützte Eigenschaft/Methode."
caseof 271
e$="Eine Struktur kann keine Klasse erben."
caseof 272
e$="Operation nicht auf Objekte anwendbr."
caseof 273
e$="Variable nicht in Struktur vorhanden."
caseof 274
e$="Eigenschaft/Methode nicht in Objekt vorhanden."
caseof 275
e$="Zuweisung auf dieses Objekt nicht möglich."
caseof 276
e$="Struktur bzw. Bereich zu klein."
caseof 277
e$="Unbekannter Arrayty."
caseof 278
e$="Zuweisung nur auf undimensionierte Bereichsvariable möglich."
caseof 279
e$="Fehler in SQL-Anweisung."
caseof 280
e$="Funktion nicht auf dieses Fensterobjekt anwendbar!"
caseof 281
e$="Unbekanntes db-Methode."
caseof 282
e$="Das Array paßt nicht komplett in die Liste!"
caseof 283
e$="Ein Bereichsarray ist hier nicht erlaubt!"
caseof 284
e$="Fehler im Regulären Ausdruck."
caseof 285
e$="So viele Parameter gibt es nicht."
caseof 286
e$="&Index ist nur in einer Array-Zuweisung erlaubt."
caseof 287
e$="Matrix-Zuweisung hier nicht möglich."
caseof 288
e$="Array-Bezeichner erwartet."
caseof 289
e$="Beide Arrays müssen den selben Typ haben!"
caseof 290
e$="Das Quell-Array paßt nicht komplett in das Ziel-Array!"
caseof 291
e$="Array-Zuweisung hier nicht möglich."
caseof 292
e$="Dynamische Arrays bei MAT nicht erlaubt."
caseof 293
e$="Unbekannter INTERSECT-Typ."
caseof 294
e$="Array für Zuweisung muß vom gleichen Typ sein."
caseof 295
e$="UserMessage nicht vorhanden!"
caseof 296
e$="Ungültiger Format-String!"
caseof 297
e$="Unbekannter Aufrufmodus."
caseof 298
e$="Metafile nicht ladbar."
caseof 500
e$="ODBC ist nicht initialisiert."
caseof 501
e$="Fehler bei der ODBC-Initialisierung."
caseof 502
e$="ODBC.DLL nicht gefunden."
caseof 503
e$="ODBC-Fehler."
caseof 504
e$="Sätze bearbeitet."
caseof 505
e$="Operation erfolgreich."
caseof 506
e$="Ergebnisdatei kann nicht geöffnet werden."
caseof 507
e$="Zu große Ergebnismenge."
caseof 900
e$="Dieser Befehl ist in der Sharewareversion nicht vorhanden."
caseof 901
e$="Nur 9999 Zeilen sind erlaubt."
caseof 902
e$="Zeile zu lang (max. 254 Zeichen)."
caseof 903
e$="INCLUDE-Datei nicht gefunden."
caseof 904
e$="INCLUDE-Verschachtelung verboten."
caseof 905
e$="Keine gültige XProfan Datei."
caseof 906
e$="Programmdatei fehlerhaft."
caseof 913
e$="HEADER-Datei nicht gefunden."
caseof 914
e$="HEADER-Verschachtelung verboten."
caseof 915
e$="UNIT-Datei nicht gefunden."
caseof 916
e$="Unpassende Runtime-Version."
caseof 999
e$="Programm abgebrochen."
caseof 400
$="OpenGL ist nicht initialisiert!"
caseof 401
e$="Devicekontext für OpenGL konnte nicht erstellt werden!"
caseof 402
e$="Kein passendes Pixelformat für OpenGL gefunden!"
caseof 403
e$="OpenGL-Pixelformat kann nicht gesetzt werden!"
caseof 404
e$="OpenGL-Renderkontext kann nicht erzeugt werden!"
caseof 405
e$="OpenGL-Renderkontext kann nicht aktiviert werden!"
caseof 406
e$="Ungültige Textur-Datei."
caseof 407
e$="Fehler in XPGL-Datei."
caseof 408
e$="XPGL-Daten nicht gefunden."
caseof 409
e$="Zu viele XPGL-Dateien geladen!"
caseof 410
e$="Ungültiger XPGL-Typ."
caseof 411
e$="Ungültger Objekttyp."
caseof 412
e$="Ungültige XPGL-Nummer!"
otherwise
e$="Unbekannter Fehler!"
endselect
Return e$
endproc
Alles anzeigen
Dabei wird die Funktion "Error_" mit der Fehlernummer aufgerufen, zum Beispiel in der ErrorProc.
Mir ist aufgefallen, dass XProfan 12 wieder neue Fehlermeldungen hat, ich glaube aber die sind alle schon mit dabei.
Vielleicht kann Roland am Errorhandling von XProfan X3 noch schrauben, mir fallen da etliche Dinge ein, die ich mir wünsche.
Jac