summaryrefslogtreecommitdiff
path: root/rsc/doku/feinkonz.43/rscerror.sdw
diff options
context:
space:
mode:
Diffstat (limited to 'rsc/doku/feinkonz.43/rscerror.sdw')
-rw-r--r--rsc/doku/feinkonz.43/rscerror.sdw2119
1 files changed, 2119 insertions, 0 deletions
diff --git a/rsc/doku/feinkonz.43/rscerror.sdw b/rsc/doku/feinkonz.43/rscerror.sdw
new file mode 100644
index 000000000000..f6e48c96237d
--- /dev/null
+++ b/rsc/doku/feinkonz.43/rscerror.sdw
@@ -0,0 +1,2119 @@
+.\\\ WRITER 6 \\\
+S:\APP\SW5\STARLAB.LAY
+R:\SW55N\TREIBER\PS.GPM
+12
+00000
+00010
+01394
+00001
+00001
+00001
+00002
+00002
+00000
+00000
+00000
+00000
+Markus Meyer
+Spezifikation
+Rsc-Compiler
+Fehlerbehandlung
+
+
+
+
+
+
+0
+16836
+11338
+0
+0
+JA
+3
+75
+0
+20
+0
+0
+0
+0
+0
+0
+0
+JA
+
+
+
+9
+20
+4
+Helvetica 14 Pt
+H1
+97
+20
+0
+
+Helvetica 12 Pt
+H2
+65
+23
+0
+
+Helvetia 10 Pt
+H3
+65
+20
+0
+
+Courier 10 Pt
+C1
+1
+23
+0
+
+Helvetica 14 Pt Fett
+F1
+65
+27
+2
+
+Helvetica 12 Pt Fett
+F2
+65
+23
+2
+
+Helvetia 10 Pt Fett
+F3
+65
+20
+0
+
+Tasten
+T1
+129
+27
+0
+
+Grundschrift
+GA
+97
+20
+0
+
+Grund - Absatzlayout V1.5-LSLP8
+GA
+0
+0
+0
+0
+9
+97
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Grundabsatzlayout-rechtsbndig
+GR
+0
+0
+0
+0
+9
+35
+20
+0
+2
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Listing
+LI
+0
+0
+0
+0
+0
+1
+23
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift
+U0
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift X.
+U1
+0
+0
+0
+0
+5
+35
+28
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+1
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift X.X.
+U2
+0
+0
+0
+0
+6
+35
+24
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+2
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift X.X.X.
+U3
+0
+0
+0
+0
+6
+35
+20
+2
+1
+0
+1
+NEIN
+NEIN
+JA
+240
+3
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift X.X.X.X.
+U4
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+4
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+šberschrift X.X.X.X.X.
+U5
+0
+0
+0
+0
+7
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+5
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Einrckung 4 Sp / 4 Sp
+E1
+576
+576
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Einrckung 8 Sp / 8 Sp
+E2
+1150
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Einrckung 0 Sp / 4 Sp
+E3
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Einrckung 4 Sp / 8 Sp
+E4
+564
+1150
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Funktionsparameter
+FP
+0
+2891
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Inhaltsverzeichnis
+IV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7653
+0
+0
+Stichwortverzeichnis
+SV
+0
+0
+0
+0
+9
+35
+20
+0
+1
+141
+1
+JA
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+3744
+1
+0
+Fettschrift einzeilig
+F1
+0
+0
+0
+0
+7
+65
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+576
+0
+0
+1152
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Punktliste
+PL
+0
+564
+0
+0
+9
+35
+20
+0
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+13
+566
+0
+0
+1133
+0
+0
+1728
+0
+0
+2304
+0
+0
+2880
+0
+0
+3456
+0
+0
+4032
+0
+0
+4608
+0
+0
+5184
+0
+0
+5760
+0
+0
+6336
+0
+0
+6912
+0
+0
+7488
+0
+0
+Fuázeile
+FZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7200
+1
+0
+Kopfzeile
+KZ
+0
+0
+0
+0
+3
+97
+20
+2
+1
+0
+1
+NEIN
+NEIN
+NEIN
+240
+0
+0
+16
+0
+0
+0
+0
+0
+0
+0
+NEIN
+
+1
+7920
+1
+0
+Grund-Seitenlayout
+GS
+566
+609
+2436
+679
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AkzBf3#_PFAD##_TEXTNAME# 6-#_S#-
+Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+AfzBf3$Date: 22 Jan 1992 12:40:36 $ $Revision: 1.1 $
+
+Stichwortverzeichnis
+SV
+566
+609
+2437
+680
+1416
+1416
+566
+0
+2
+NEIN
+0
+0
+
+AliBf3Stichwortverzeichnis
+AliBf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+ÄÄÄÄÄÄÄ
+
+Ali6Bf3- #_S# -B00
+
+GS - ohne Fuázeile
+KF
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3#_KATEGORIE# / #_THEMA2#
+AliBf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+Ali
+
+Inhaltsverzeichnis
+IV
+566
+609
+2437
+680
+1416
+1416
+0
+0
+1
+NEIN
+0
+0
+
+AliBf3Inhaltsverzeichnis
+AliBf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+ÄÄÄÄÄÄÄ
+
+Ali
+
+
+
+
+0
+
+0
+
+SkfAga
+
+
+
+
+
+
+
+
+
+Au0 #_KATEGORIE#
+Aga
+
+Au0 #_THEMA2#
+Aga
+
+Au0
+Aga
+
+
+
+
+
+
+
+
+
+
+
+
+Au0 #_AUTOR#
+Aga
+
+Au0 STAR DIVISION / STAR LAB Hamburg
+Aga
+
+Au0 Stand: $Date: 22 Jan 1992 12:40:36 $
+Aga
+
+Sgs
+ SkfAgaPA
+
+
+Au0#_KATEGORIE#
+Aga
+
+
+AfpDokumentenname #_THEMA2#
+Aga
+AfpProjektname #_THEMA1#
+Aga
+AfpVersionsnummer $Revision: 1.1 $
+Aga
+
+Afperstellt 16. September 1991
+Aga
+Afpge„ndert $Date: 22 Jan 1992 12:40:36 $
+Aga
+
+AfpDateiname #_PFAD##_TEXTNAME#
+Aga
+
+AfpAutor #_AUTOR#
+Aga
+AfpBearbeiter $Author: MM $
+Aga
+AfpQualit„tskontrolle
+Aga
+
+AfpStatus XX in Arbeit
+Afp !__ fertiggestellt
+Afp !__ abgenommen
+Afp !__ freigegeben
+Aga
+
+AfpVertraulich __ Ja XX Nein
+Aga
+
+AfpCopyright (C) Star Division 1990
+Aga
+ Sgspa
+Au1#1 Einleitung
+Aga
+In diesem Dokument werden die Klassen beschrieben, die die Fehlerbehandlung organisieren.
+
+Hinweise zur Implementation
+Bevor eine dieser Klassen benutzt wird, muá die Funktion InitRscCompiler aufgerufen werden.
+ AgaPA
+Au1#2 Klassenbeschreibung
+Aga
+AgaERRTYPE:
+Diese Klasse enth„lt eine Fehler- oder eine Warnungsnummer.
+
+RscError:
+Diese Klasse bernimmt die Ausgabe der Fehlermeldungen.
+
+Au1#3 Globale Funktionen
+Aga
+RscExit():
+Die Funktion muá von jedem Programm implementiert werden, die Klassen aus dem rsc-System
+benutzen. Die Funktion bedeutet, daá das Programm sofort beendet werden muá, weil ein
+scherwiegender Programmfehler aufgetreten ist.
+
+ SivPA
+
+Au0Inhaltsverzeichnis
+Aga
+Aiv1. Einleitung M3
+2. Klassenbeschreibung D4
+3. Globale Funktionen E4
+ERRTYPE S6
+RscError R10
+::RscExit() O15
+Stichwortverzeichnis F17
+Sgs
+Au0
+Aga
+ Au0PAERRTYPE
+Aga
+Aliclass ERRTYPE {
+public:
+ ERRTYPE();
+ ERRTYPE( USHORT nErr );
+ ERRTYPE& operator = ( const ERRTYPE & rError );
+ operator USHORT();
+ BOOL IsError();
+ BOOL IsOk();
+ BOOL IsWarning();
+ void Clear();
+};
+
+#define ERR_OK
+#define ERR_ERROREND
+#define ERR_WARNING
+#define ERR_WARNINGEND
+Aga
+Af1Beschreibung
+Aga
+Eine Instanz dieser Klassen enth„lt entweder eine Fehler- oder eine Warnungsnummer oder keines von
+beiden. Zu beachten ist, daá eine Fehlernummer nicht berschrieben werden kann (!der erste Fehler ist
+interressant ).
+
+Af1Anmerkungen
+AgaWarnungen werden von Fehlernummern berschrieben, aber nicht von Warnungsnummern.
+
+Af1Querverweise
+Aga
+Klasse: RscError.
+
+Af1Beispiel
+Aga
+Ali.....
+ERRTYPE aError;
+
+aError = ERR_OPENFILE;
+aError = ERR_ERROR;
+if( ERR_OPENFILE == aError )
+ printf( "Fehler: Datei kann nicht g”ffnet werden!\n" );
+else
+ printf( "Fehler: Allgemeiner Fehler!\n");
+.....
+Aga
+AgaDie Ausgabe heiát:
+Fehler: Datei kann nicht ge”ffnet werden!
+
+ Au0PAERRTYPE::ERRTYPE()
+Aga
+AliERRTYPE::ERRTYPE();
+ERRTYPE::ERRTYPE( USHORT nErrNo );
+ERRTYPE::ERRTYPE( const ERRTYPE & rError );
+Aga
+Af1Beschreibung
+Aga
+Die wird eine Instanz ERRTYPE erzeugt.
+
+Af1Parameter
+Aga
+AfpnErrNo diese Zahl ist der Fehler der in die Instanz eingetragen wird.
+rError aus dieser Instanz wird der Fehler bernommen.
+Aga
+Af1Anmerkungen
+Aga
+Wird der leere Konstruktor verwendet, dann ist die Fehlernummer ERR_OK. Die Methode IsOk()
+liefert TRUE.
+
+Af1Querverweise
+Aga
+Klassen: RscError
+Methoden: IsError(), IsOk(), Clear().
+
+Af1Beispiel
+AgaHier wird gezeigt wie Fehler zugewiesen und berschrieben werden.
+
+AliERRTYPE aErr;
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aErr = WRN_LOCALID; //Warnung zuweisen
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: TRUE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+aErr = ERR_ERROR; //Fehler zuweisen
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: FALSE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aErr = ERR_OK; //Fehler aufheben geht so nicht
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+aError.Clear(); //Fehler aufheben
+printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
+printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0ERRTYPE::operator =()
+Aga
+AliERRTYPE & ERRTYPE::operator &( const ERRTYPE & rErr );
+Aga
+Af1Beschreibung
+Aga
+Der Zuweisungsoperator kopiert den Fehler oder die Warnung von rErr in die Instanz. Ein kopieren
+findet nicht statt, wenn in der Instanz schon ein Fehler eingetragen wurde.
+
+Af1Parameter
+Aga
+ AfprErr aus dieser Instanz wird der Fehler bernommen.
+Aga
+Af1Return-Werte
+Aga
+Die eigene Instanz wird zurckgeliefert.
+
+Af1Querverweise
+Aga
+Methoden: operator USHORT().
+
+Af1Beispiel
+Aga
+AliERRTYPE aError( ERR_RSCRANGE );
+printf( ERR_RSCRANGE == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: TRUE
+//Versuch den Fehler zu ueberschreiben (geht nicht)
+aError = ERRTYPE( ERR_ERROR );
+printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: FALSE
+aError.Clear();
+aError = ERRTYPE( ERR_ERROR );
+printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
+ //Ausgabe: TRUE
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0ERRTYPE::operator USHORT()
+Aga
+AliERRTYPE::operator USHORT();
+Aga
+Af1Return-Werte
+Aga
+Die Fehlernummer in der Instanz wird zurckgeliefert.
+
+Af1Querverweise
+Aga
+Methoden: operator =().
+
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0ERRTYPE::IsError()
+Aga
+AliBOOL ERRTYPE::IsError();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Fehler anzeigt.
+
+Af1Return-Werte
+Aga
+AfpTRUE wenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
+FALSE wenn die Fehlernummer im Bereich ]ERR_ERROREND, 0xFFFF
+"] liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsOk(), IsWarning(), Clear().
+ Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0ERRTYPE::IsOk()
+Aga
+AliBOOL ERRTYPE::IsOk();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die keinen Fehler anzeigt.
+
+Af1Return-Werte
+Afp
+TRUE wenn die Fehlernummer im Bereich ]ERR_ERROREND,
+"0xFFFF] liegt.
+FALSE wenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsError(), IsWarning(), Clear().
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0ERRTYPE::IsWarning()
+Aga
+AliBOOL ERRTYPE::IsWarning();
+Aga
+Af1Beschreibung
+Aga
+Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Warnung anzeigt.
+
+Af1Return-Werte
+Afp
+TRUE wenn die Fehlernummer im Bereich [ERR_WARNING,
+"ERR_WARNINGEND] liegt.
+FALSE wenn die Fehlernummer in einem anderen Bereich liegt.
+Aga
+Af1Querverweise
+Aga
+Methoden: IsOk(), IsError(), Clear().
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+Au0ERRTYPE::Clear()
+Aga
+Alivoid ERRTYPE::Clear();
+Aga
+Af1Beschreibung
+Aga
+Die Fehlernummer wird auf ERR_OK gesetzt. Das heiát die Methode IsOk() liefert TRUE zurck.
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+ Au0PARscError
+Aga
+Ali#define ERR_ERROR 0x0100
+#define ERR_UNKNOWN_METHOD 0x0101
+#define ERR_OPENFILE 0x0102
+#define ERR_NOCHAR 0x0103
+#define ERR_NORSCINST 0x0104
+#define ERR_USAGE 0x0105
+#define ERR_NOINPUT 0x0106
+#define ERR_UNKNOWNSW 0x0107
+#define ERR_REFTODEEP 0x0108
+
+#define ERR_RSCRANGE 0x0200
+ #define ERR_RSCRANGE_OUTDEFSET (ERR_RSCRANGE +1 )
+#define ERR_RSCENUM 0x0210
+#define ERR_RSCFLAG 0x0220
+#define ERR_RSCCONT 0x0240
+ #define ERR_CONT_INVALIDPOS (ERR_RSCCONT +1 )
+ #define ERR_CONT_INVALIDTYPE (ERR_RSCCONT +2 )
+#define ERR_RSCCMPED 0x0250
+#define ERR_RSCINST 0x0260
+ #define ERR_RSCINST_NOVARNAME (ERR_RSCINST +1 )
+ #define ERR_RSCINST_RESERVEDNAME (ERR_RSCINST +2 )
+#define ERR_LEX 0x0270
+#define ERR_YACC 0x0280
+ #define ERR_DOUBLEID (ERR_YACC +1 )
+ #define ERR_FALSETYPE (ERR_YACC +2 )
+ #define ERR_NOVARIABLENAME (ERR_YACC +3 )
+ #define ERR_USHORTRANGE (ERR_YACC +4 )
+ #define ERR_IDRANGE (ERR_YACC +5 )
+ #define ERR_NOCOPYOBJ (ERR_YACC +6 )
+ #define ERR_REFNOTALLOWED (ERR_YACC +7 )
+ #define ERR_DOUBLEDEFINE (ERR_YACC +8 )
+ #define ERR_COPYNOTALLOWED (ERR_YACC +9 )
+ #define ERR_IDEXPECTED (ERR_YACC +10)
+ #define ERR_ZERODIVISION (ERR_YACC +11)
+ #define ERR_PRAGMA (ERR_YACC +12)
+ #define ERR_DECLAREDEFINE (ERR_YACC +13)
+
+ #define WRN_LOCALID (ERR_WARNING +1 )
+ #define WRN_GLOBALID (ERR_WARNING +2 )
+ #define WRN_SUBINMEMBER (ERR_WARNING +3 )
+ #define WRN_CONT_NOID (ERR_WARNING +4 )
+ #define WRN_STR_REFNOTFOUND (ERR_WARNING +5 )
+ #define WRN_MGR_REFNOTFOUND (ERR_WARNING +6 )
+ #define WRN_CONT_DOUBLEID (ERR_WARNING +7 )
+
+class RscError{
+public:
+ USHORT nErrors;// Anzahl der Fehler
+ RscError();
+ void SetListFile( FILE * fList );
+ virtual void StdOut( const char * );
+ virtual void LstOut( const char * );
+ virtual void Error( ERRTYPE nError, RscTop* pClass,
+ const RscId &aId,
+ const char * pMessage = NULL );
+ virtual void FatalError( ERRTYPE nError, const RscId
+ &aId, const char * pMessage = NULL );
+ };
+Aga
+Af1Beschreibung
+Aga
+In dieser Klasse werden Fehlermeldungen ausgegeben. Die Fehlermeldungen werden zur
+Standartausgabe geschickt und in eine Listing-Datei geschrieben. Nach Aufruf der Methode
+FatalError() wird die Funktion RscExit() aufgerufen. Diese sollte das Programm terminieren.
+Die Ausgabe der Fehler hat folgendes Format:
+1. Zeile in der der Fehler aufgetreten ist.
+2. Position an der der Fehler aufgetreten ist.
+3. Fehlernummer: Error ( Typ, Identifier ): Fehlermeldung.
+
+Af1Ausnahmen
+Aga
+Die Ausgabe wird unter MS-Windows nicht nach "stdout" umgeleitet, sondern sie wird unterdrckt.
+
+Af1Anmerkungen
+Aga
+Die Klasse tauscht Zeilennummern, Zeilen usw. ber globale Variable mit dem Parser aus. Aus diesem
+Grund darf der Parser nicht rekursiv aufgerufen werden.
+Wenn ein Fehler am Ende einer Zeile bemerkt wird, wird h„ufig die Zeile nach der Fehlerhaften
+angezeigt.
+
+Af1Querverweise
+Aga
+Klassen: RscTypCont, ERRTYPE, RscId, RscFileInst, alle Rsc... Klassen.
+Funktionen: ::RscExit(), ::parser(), ::MacroParser(), ::IncludeParser().
+
+Af1Beispiel
+AgaImplementation der Standartausgabe unter MS-Windows.
+
+Ali.....
+class WinError :: public RscError{
+ ListBox * pOutput;
+public:
+ WinError( ListBox * pListBox ) : RscError(){
+  pOutput = pListBox;
+ }
+ void StdOut( const char * pStr ){
+  //fuer gute Ausgabeformatierung muesste auf RETURN
+  //geachtet werden
+  pOutput.Insert( pStr, LISTBOX_APPEND );
+ }
+};
+.....
+ AgapaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+Au0Fehlernummern
+Aga
+AfpERR_ERROR Allgemeiner Fehler, dieser Fehler kann nicht nicht genauer
+"spezifiziert werden.
+ERR_UNKNOWN_METHOD Eine virtuelle Methode die in der abgeleiteten Klasse nicht
+"implementiert ist. Siehe Methoden der Klasse RscInst: SetString(),
+"SetNumber .... Man kann die Fehlermeldung als Typfehler
+"betrachten, das heiát dieser Typ darf nicht verwendet werden.
+ERR_OPENFILE Die Datei mit dem angegebenen Namen konnte nicht ge”ffnet
+"werden.
+ERR_NOCHAR Es konnte kein Zeichen generiert werden. Zum Beispiel kann
+"'\333' nicht in ein Zeichen umgewandelt werden.
+ERR_NORSCINST Interner Fehler, eine Methode soll auf eine ungltige Instanz
+"angewendet werden.
+ERR_NOINPUT Es wurde keine Eingabedatei angegeben.
+ERR_USAGE Es wird eine Kommandozeilenhilfe ausgegeben (rsc -h).
+ERR_UNKNOWNSW In der Kommandozeile wurde ein unbekannter Schalter
+"verwendet.
+ERR_REFTODEEP Referenzen werden nur bis zu einer bestimmten Tiefe aufgel”st.
+"Der Fehler bedeutet, das Referenzen rekursiv definiert wurden
+"oder daá sie zu tief verschachtelt sind.
+ERR_RSCRANGE In der Klasse RscRange ist ein Fehler aufgetreten.
+ERR_RSCRANGE_OUTDEFSET  In eine RscRange-Instanz wurde versucht eine Zahl einzusetzen,
+"die auáerhalb des Wertebereichs liegt.
+ERR_RSCENUM In der Klasse RscEnum ist ein Fehler aufgetreten.
+ERR_RSCFLAG In der Klasse RscFlag ist ein Fehler aufgetreten.
+ERR_RSCCONT In der Klasse RscCont ist ein Fehler aufgetreten.
+ERR_CONT_INVALIDPOS In einer RscCont-Instanz wurde auf eine Position zugegriffen, auf
+"der sich keine Instanz befunden hat.
+ERR_CONT_INVALIDTYPE  In einer RscCont-Instanz wurde versucht eine Instanz mit
+"falschem Typ einzusetzen.
+ERR_RSCINST In der Klasse RscInst ist ein Fehler aufgetreten.
+ERR_RSCINST_NOVARNAME  Eine Methode der Klasse RscInst die einen Variablennamen als
+"Parameter ben”tigt stellt fest, das dieser Name in der
+"entsprechenden Instanz nicht als Variable definiert ist. Vermutlich
+"hat die RscInst-Instanz einen anderen Typ als erwartet.
+ERR_RSCINST_RESERVEDNAME Fr ein Makro soll eine Name verwendet werden, der
+"schon belegt ist. Namen k”nnen zum Beispiel schon fr Variablen
+"vergeben sein.
+Aga
+Es folgen Fehler die beim Parsen auftreten k”nnen.
+AfpERR_YACC Allgemeiner Fehler der beim Parsen aufgetreten ist.
+ERR_DOUBLEID Zwei globale Resourcen haben den gleichen Identifier.
+ERR_FALSETYPE Der verwendete Typ ist nicht erlaubt.
+ERR_NOVARIABLENAME Die Variable darf hier nicht verwendet werden.
+ERR_USHORTRANGE Der Zahlenwert ist auáerhalb von [0, 0xFFFF].
+ERR_IDRANGE Der Zahlenwert ist auáerhalb von [0, 0x7FFF].
+ERR_NOCOPYOBJ Defaultresource wurde nicht gefunden. Eine Resourceinstanz kann
+"mit einer anderen initialisiert werden. Diese ander Instanz wurde
+"nicht gefunden.
+ERR_REFNOTALLOWED An dieser Stelle ist die Angabe einer Referenz verboten.
+ERR_DOUBLEDEFINE Ein Makroname soll doppelt vergeben werden.
+ERR_COPYNOTALLOWED Die Angabe einer Defaultresource ist verboten.
+ERR_IDEXPECTED Ein Identifier muá Angegeben werden.
+ERR_ZERODIVISION Es sollte durch Null geteilt werden.
+ERR_PRAGMA Bei der Angabe eines Pragmas ist ein Fehler aufgetreten.
+ ERR_DECLAREDEFINE Ein Makro mit dieser Deklaration kann nicht erstellt werden.
+"Entweder eine rekursive Definition oder die verwendeten Makros
+"sind nicht in der Abh„ngigkeitsliste.
+Aga
+Es folgen Warnungen.
+AfpWRN_LOCALID Resourcen die sich innerhalb einer anderen Resource befinden
+"(Unterresourcen) haben ein Identifier ber 255.
+WRN_GLOBALID Globale Resourcen haben einen Identifier unter 256.
+WRN_SUBINMEMBER Die Unterresource werden nicht beachtet. Das bedeutet, daá auf
+"diese Resourcen zur Laufzeit nicht zugegriffen werden kann.
+WRN_CONT_NOID Die Resourcen haben einen ungltigen Identifier. Auf diese
+"Resourcen kann zur Laufzeit nicht zugegriffen werden.
+WRN_STR_REFNOTFOUND Beim schreiben ein rc-Datei konnte eine Stringreferenz nicht
+"aufgel”st werden.
+WRN_MGR_REFNOTFOUND Beim schreiben ein rc-Datei konnte eine Referenz nicht aufgel”st
+"werden. Wenn auf Unterresourcen zugegriffen wird, die sich in
+"der referenzierten Resource befinden, dann kann ein
+"Laufzeitfehler auftreten.
+WRN_CONT_DOUBLEID Zwei Unterresource haben den gleichen Identifier.
+Aga
+ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+Au0RscError::RscError()
+Aga
+AliRscError::RscError();
+Aga
+Af1Beschreibung
+Aga
+Eine Instanz wird erzeugt. Der Fehlerz„hler wird auf Null gesetzt.
+
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0RscError::SetListFile()
+Aga
+Alivoid RscError::SetListFile( FILE * fLstFile );
+Aga
+Af1Beschreibung
+Aga
+Es wird eine Datei angegeben in die das Listing und die Fehlermeldungen geschrieben werden.
+fListing darf auch NULL sein, dann wird kein Listing erzeugt.
+
+Af1Parameter
+Aga
+AfpfLstFile Dies ist die Datei in die geschrieben wird.
+Aga
+Af1Anmerkung
+Aga
+Fr das ™ffnen und Schlieáen ist der Aufrufer verantwortlich.
+
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0RscError::StdOut()
+Aga
+Alivirtual void RscError::StdOut( const char * pStr );
+Aga
+ Af1Beschreibung
+Aga
+Alle Zeichenketten werden nach stdout geschrieben.
+
+Af1Parameter
+Aga
+AfppStr Dies ist die Zeichenkette die geschrieben wird.
+Aga
+Af1Ausnahmen
+Aga
+Unter MS-Windows wird nicht nach stdout ausgegeben.
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0RscError::StdLst()
+Aga
+Alivirtual void RscError::StdLst( const char * pStr );
+Aga
+Af1Beschreibung
+Aga
+Alle Zeichenketten werden in die Listing-Datei geschrieben.
+
+Af1Parameter
+Aga
+AfppStr Dies ist die Zeichenkette die geschrieben wird.
+Aga
+Af1Ausnahmen
+Aga
+Wenn keine Listing-Datei angegeben ist passiert nichts.
+Aga
+Querverweise
+
+Methoden: SetListFile().
+
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+
+Au0RscError::Error()
+Aga
+Alivirtual void RscError::Error( ERRTYPE aError,
+ RscTop * pClass,
+ const RscId & rId,
+ const char * pMess = NULL );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode werden Fehler- und Warnungsmeldungen ausgegeben. Die Methode benutzt die
+Methoden StdOut() und LstOut(). Wenn eine Fehlermeldung vorliegt wird der Fehlerz„hler um eins
+erh”ht.
+
+Af1Parameter
+Aga
+AfpaError Hierin ist die Fehlernummer gespeichert. šber diese wird der
+"Fehlertext ermittelt.
+pClass Dies ist der Typ der Resourceinstanz, in der der Fehler aufgetreten
+"ist. pClass darf NULL sein.
+rId Dies ist der Identifier der Resourceinstanz, in der der Fehler
+"aufgetreten ist.
+ pMess Dies ist der Fehlertext. pMess darf NULL sein.
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0RscError::FatalError()
+Aga
+Alivirtual void RscError::FatalError( ERRTYPE aError,
+ const RscId & rId,
+ const char * pMess = NULL );
+Aga
+Af1Beschreibung
+Aga
+Mit dieser Methode werden schwerwiegende Fehler angezeigt. Die Methode benutzt die Methoden
+StdOut() und LstOut(). Die Funktion RscExit( 1 ) wird gerufen, diese sollte das Programm beenden.
+
+Af1Parameter
+Aga
+AfpaError Hierin ist die Fehlernummer gespeichert. šber diese wird der
+"Fehlertext ermittelt.
+rId Dies ist der Identifier der Resourceinstanz, in der der Fehler
+"aufgetreten ist.
+pMess Dies ist der Fehlertext. pMess darf NULL sein.
+Aga
+AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+Au0::RscExit()
+Aga
+Alivoid RscExit( USHORT nExit );
+Aga
+Af1Beschreibung
+Aga
+Diese Methode wird gerufen wenn ein schwerwiegende Fehler aufgetreten ist. Das Programm muá
+beendet werden.
+Fehlernummer:
+Afp1  Die Funktion FatalError() wurde aufgerufen.
+10 Mit den c-Funktionen alloc() oder realloc() wird kein Speicher
+"mehr zur Verfgung gestellt.
+11 Hashtabelle l„uft ber.
+12 Es wird mehr als 64k -1 Byte Speicher angefordert.
+13 In einem internen Zeichenkettenfeld ist nicht genug Platz.
+14 Es wird ein Objekt gel”scht auf das noch mindestens eine
+"Referenz besteht.
+16 Maximal 32 Variablen pro Klasse erlaubt.
+Aga
+Af1Parameter
+Aga
+AfpnExit Mit Hilfe dieser Zahl wird der aufgetreten Fehler etwas genauer
+"beschrieben.
+Aga
+Af1Beispiel
+Aga
+Alivoid RscExit( USHORT nExit ){
+ if( nExit )
+  printf( "Program exit ist %d\n" nExit );
+ exit( nExit );
+};
+Aga
+ AgaÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+Aga
+
+
+ SsvAgaPA
+Au0Stichwortverzeichnis
+Aga
+Asv::RscExit() 15
+ERRTYPE::Clear() 9
+ERRTYPE::ERRTYPE() 7
+ERRTYPE::IsError() 8
+ERRTYPE::IsOk() 9
+ERRTYPE::IsWarning() 9
+ERRTYPE::operator =() 7
+ERRTYPE::operator USHORT() 8
+ERRTYPE #6
+Fehlernummern 12
+RscError !10
+RscError::Error() 14
+RscError::FatalError() 15
+RscError::RscError() 13
+RscError::SetListFile() 13
+RscError::StdLst() 14
+RscError::StdOut() 13
+
+Aga
+ \ No newline at end of file