2 S:\APP\SW5\STARLAB.LAY
\r
3 R:\SW55N\TREIBER\PS.GPM
\r
75 Helvetica 14 Pt Fett
\r
81 Helvetica 12 Pt Fett
\r
105 Grund - Absatzlayout V1.5-LSLP8
\r
174 Grundabsatzlayout-rechtsb�ndig
\r
588 šberschrift X.X.X.X.
\r
657 šberschrift X.X.X.X.X.
\r
726 Einr�ckung 4 Sp / 4 Sp
\r
795 Einr�ckung 8 Sp / 8 Sp
\r
864 Einr�ckung 0 Sp / 4 Sp
\r
933 Einr�ckung 4 Sp / 8 Sp
\r
1002 Funktionsparameter
\r
1071 Inhaltsverzeichnis
\r
1104 Stichwortverzeichnis
\r
1137 Fettschrift einzeilig
\r
1341 Grund-Seitenlayout
\r
1356 \x14\x03Akz
\x14\x03Bf3#_PFAD##_TEXTNAME#
\x046-#_S#-
\r
1357 \x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1359 \x14\x03Afz
\x14\x03Bf3$Date: 22 Jan 1992 12:40:36 $
\x04\x16$Revision: 1.1 $
\r
1361 Stichwortverzeichnis
\r
1376 \x14\x03Ali
\x14\x03Bf3Stichwortverzeichnis
\r
1377 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
1380 \x14\x03Ali
\x0f\x05\x02\x046
\x14\x03Bf3- #_S# -
\x14\x03B00
\r
1382 GS - ohne Fuázeile
\r
1397 \x14\x03Ali
\x14\x03Bf3#_KATEGORIE# / #_THEMA2#
\r
1398 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1402 Inhaltsverzeichnis
\r
1417 \x14\x03Ali
\x14\x03Bf3Inhaltsverzeichnis
\r
1418 \x14\x03Ali
\x14\x03Bf3ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
1430 \x14\x03Skf
\x14\x03Aga
\r
1440 \x14\x03Au0
\x04\x03#_KATEGORIE#
\r
1443 \x14\x03Au0
\x04\x03#_THEMA2#
\r
1460 \x14\x03Au0
\x04\x03#_AUTOR#
\r
1463 \x14\x03Au0
\x04\x03STAR DIVISION / STAR LAB Hamburg
\r
1466 \x14\x03Au0
\x04\x03Stand: $Date: 22 Jan 1992 12:40:36 $
\r
1470 \f\x14\x03Skf
\x14\x03Aga
\x14\x02PA
\r
1473 \x14\x03Au0#_KATEGORIE#
\r
1477 \x14\x03AfpDokumentenname
\x04\x13#_THEMA2#
\r
1479 \x14\x03AfpProjektname
\x04\x16#_THEMA1#
\r
1481 \x14\x03AfpVersionsnummer
\x04\x13$Revision: 1.1 $
\r
1484 \x14\x03Afperstellt
\x04\x1916. September 1991
\r
1486 \x14\x03Afpge„ndert
\x04\x19$Date: 22 Jan 1992 12:40:36 $
\r
1489 \x14\x03AfpDateiname
\x04\x18#_PFAD##_TEXTNAME#
\r
1492 \x14\x03AfpAutor
\x04\x1c#_AUTOR#
\r
1494 \x14\x03AfpBearbeiter
\x04\x17$Author: MM $
\r
1496 \x14\x03AfpQualit„tskontrolle
\r
1499 \x14\x03AfpStatus
\x04\eXX
\x04\x04in Arbeit
\r
1500 \x14\x03Afp
\x04!__
\x04\x04fertiggestellt
\r
1501 \x14\x03Afp
\x04!__
\x04\x04abgenommen
\r
1502 \x14\x03Afp
\x04!__
\x04\x04freigegeben
\r
1505 \x14\x03AfpVertraulich
\x04\x16__ Ja XX Nein
\r
1508 \x14\x03AfpCopyright (C)
\x04\x14Star Division 1990
\r
1510 \f\x14\x03Sgs
\x14\x02pa
\r
1511 \x14\x03Au1#
\x16\x011 Einleitung
\r
1513 In diesem Dokument werden die Klassen beschrieben, die die Fehlerbehandlung organisieren.
\r
1515 \x18\x01Hinweise zur Implementation
\x18\x01\r
1516 Bevor eine dieser Klassen benutzt wird, muá die Funktion InitRscCompiler aufgerufen werden.
\r
1517 \f\x14\x03Aga
\x14\x02PA
\r
1518 \x14\x03Au1#
\x16\x012 Klassenbeschreibung
\r
1520 \x14\x03Aga
\x18\x01ERRTYPE:
\x18\x01\r
1521 Diese Klasse enth„lt eine Fehler- oder eine Warnungsnummer.
\r
1523 \x18\x01RscError:
\x18\x01\r
1524 Diese Klasse �bernimmt die Ausgabe der Fehlermeldungen.
\r
1526 \x14\x03Au1#
\x16\x013 Globale Funktionen
\r
1528 \x18\x01RscExit():
\x18\x01\r
1529 Die Funktion muá von jedem Programm implementiert werden, die Klassen aus dem rsc-System
1530 benutzen. Die Funktion bedeutet, daá das Programm sofort beendet werden muá, weil ein
1531 scherwiegender Programmfehler aufgetreten ist.
\r
1533 \f\x14\x03Siv
\x14\x02PA
\r
1535 \x14\x03Au0Inhaltsverzeichnis
\r
1537 \x14\x03Aiv1. Einleitung
\x04M3
\r
1538 2. Klassenbeschreibung
\x04D4
\r
1539 3. Globale Funktionen
\x04E4
\r
1542 ::RscExit()
\x04O15
\r
1543 Stichwortverzeichnis
\x04F17
\r
1547 \f\x14\x03Au0
\x14\x02PA
\x01\x02ERRTYPE
\x02\x01\r
1549 \x14\x03Aliclass ERRTYPE {
\r
1552 ERRTYPE( USHORT nErr );
\r
1553 ERRTYPE& operator = ( const ERRTYPE & rError );
\r
1554 operator USHORT();
\r
1562 #define ERR_ERROREND
\r
1563 #define ERR_WARNING
\r
1564 #define ERR_WARNINGEND
\r
1566 \x14\x03Af1Beschreibung
\r
1568 Eine Instanz dieser Klassen enth„lt entweder eine Fehler- oder eine Warnungsnummer oder keines von
1569 beiden. Zu beachten ist, daá eine Fehlernummer nicht �berschrieben werden kann (!der erste Fehler ist
1572 \x14\x03Af1Anmerkungen
\r
1573 \x14\x03AgaWarnungen werden von Fehlernummern �berschrieben, aber nicht von Warnungsnummern.
\r
1575 \x14\x03Af1Querverweise
\r
1579 \x14\x03Af1Beispiel
\r
1584 aError = ERR_OPENFILE;
\r
1585 aError = ERR_ERROR;
\r
1586 if( ERR_OPENFILE == aError )
\r
1587 \x04\x03printf( "Fehler: Datei kann nicht g”ffnet werden!\n" );
\r
1589 \x04\x03printf( "Fehler: Allgemeiner Fehler!\n");
\r
1592 \x14\x03AgaDie Ausgabe heiát:
\r
1593 Fehler: Datei kann nicht ge”ffnet werden!
\r
1595 \f\x14\x03Au0
\x14\x02PA
\x02ERRTYPE::ERRTYPE()
\x02\r
1597 \x14\x03AliERRTYPE::ERRTYPE();
\r
1598 ERRTYPE::ERRTYPE( USHORT nErrNo );
\r
1599 ERRTYPE::ERRTYPE( const ERRTYPE & rError );
\r
1601 \x14\x03Af1Beschreibung
\r
1603 Die wird eine Instanz ERRTYPE erzeugt.
\r
1605 \x14\x03Af1Parameter
\r
1607 \x14\x03AfpnErrNo
\x04\ediese Zahl ist der Fehler der in die Instanz eingetragen wird.
\r
1608 rError
\x04\eaus dieser Instanz wird der Fehler �bernommen.
\r
1610 \x14\x03Af1Anmerkungen
\r
1612 Wird der leere Konstruktor verwendet, dann ist die Fehlernummer ERR_OK. Die Methode IsOk()
1615 \x14\x03Af1Querverweise
\r
1618 Methoden: IsError(), IsOk(), Clear().
\r
1620 \x14\x03Af1Beispiel
\r
1621 \x14\x03AgaHier wird gezeigt wie Fehler zugewiesen und �berschrieben werden.
\r
1623 \x14\x03AliERRTYPE aErr;
\r
1624 printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
\r
1625 aErr = WRN_LOCALID; //Warnung zuweisen
\r
1626 printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
\r
1627 printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: TRUE
\r
1628 printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
\r
1629 aErr = ERR_ERROR; //Fehler zuweisen
\r
1630 printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
\r
1631 printf( aErr.IsWarning() ? "TRUE", "FALSE" );//Ausg.: FALSE
\r
1632 printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
\r
1633 aErr = ERR_OK; //Fehler aufheben geht so nicht
\r
1634 printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: FALSE
\r
1635 printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: TRUE
\r
1636 aError.Clear(); //Fehler aufheben
\r
1637 printf( aErr.IsOk() ? "TRUE", "FALSE" ); //Ausg.: TRUE
\r
1638 printf( aErr.IsError() ? "TRUE", "FALSE" ); //Ausg.: FALSE
\r
1640 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1642 \x14\x03Au0
\x02ERRTYPE::operator =()
\x02\r
1644 \x14\x03AliERRTYPE & ERRTYPE::operator &( const ERRTYPE & rErr );
\r
1646 \x14\x03Af1Beschreibung
\r
1648 Der Zuweisungsoperator kopiert den Fehler oder die Warnung von rErr in die Instanz. Ein kopieren
1649 findet nicht statt, wenn in der Instanz schon ein Fehler eingetragen wurde.
\r
1651 \x14\x03Af1Parameter
\r
1653 \f\x14\x03AfprErr
\x04\x1daus dieser Instanz wird der Fehler �bernommen.
\r
1655 \x14\x03Af1Return-Werte
\r
1657 Die eigene Instanz wird zur�ckgeliefert.
\r
1659 \x14\x03Af1Querverweise
\r
1661 Methoden: operator USHORT().
\r
1663 \x14\x03Af1Beispiel
\r
1665 \x14\x03AliERRTYPE aError( ERR_RSCRANGE );
\r
1666 printf( ERR_RSCRANGE == aError ? "TRUE" : "FALSE" );
\r
1668 //Versuch den Fehler zu ueberschreiben (geht nicht)
\r
1669 aError = ERRTYPE( ERR_ERROR );
\r
1670 printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
\r
1673 aError = ERRTYPE( ERR_ERROR );
\r
1674 printf( ERR_ERROR == aError ? "TRUE" : "FALSE" );
\r
1677 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1679 \x14\x03Au0
\x02ERRTYPE::operator USHORT()
\x02\r
1681 \x14\x03AliERRTYPE::operator USHORT();
\r
1683 \x14\x03Af1Return-Werte
\r
1685 Die Fehlernummer in der Instanz wird zur�ckgeliefert.
\r
1687 \x14\x03Af1Querverweise
\r
1689 Methoden: operator =().
\r
1691 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1693 \x14\x03Au0
\x02ERRTYPE::IsError()
\x02\r
1695 \x14\x03AliBOOL ERRTYPE::IsError();
\r
1697 \x14\x03Af1Beschreibung
\r
1699 Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Fehler anzeigt.
\r
1701 \x14\x03Af1Return-Werte
\r
1703 \x14\x03AfpTRUE
\x04\x1dwenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
\r
1704 FALSE
\x04\x1cwenn die Fehlernummer im Bereich ]ERR_ERROREND, 0xFFFF
1707 \x14\x03Af1Querverweise
\r
1709 Methoden: IsOk(), IsWarning(), Clear().
\r
1711 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1713 \x14\x03Au0
\x02ERRTYPE::IsOk()
\x02\r
1715 \x14\x03AliBOOL ERRTYPE::IsOk();
\r
1717 \x14\x03Af1Beschreibung
\r
1719 Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die keinen Fehler anzeigt.
\r
1721 \x14\x03Af1Return-Werte
\r
1723 TRUE
\x04\x1dwenn die Fehlernummer im Bereich ]ERR_ERROREND,
1724 \x04"0xFFFF] liegt.
\r
1725 FALSE
\x04\x1cwenn die Fehlernummer im Bereich [0, ERR_ERROREND] liegt.
\r
1727 \x14\x03Af1Querverweise
\r
1729 Methoden: IsError(), IsWarning(), Clear().
\r
1731 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1733 \x14\x03Au0
\x02ERRTYPE::IsWarning()
\x02\r
1735 \x14\x03AliBOOL ERRTYPE::IsWarning();
\r
1737 \x14\x03Af1Beschreibung
\r
1739 Diese Methode zeigt an ob in der Instanz eine Fehlernummer steht, die einen Warnung anzeigt.
\r
1741 \x14\x03Af1Return-Werte
\r
1743 TRUE
\x04\x1dwenn die Fehlernummer im Bereich [ERR_WARNING,
1744 \x04"ERR_WARNINGEND] liegt.
\r
1745 FALSE
\x04\x1cwenn die Fehlernummer in einem anderen Bereich liegt.
\r
1747 \x14\x03Af1Querverweise
\r
1749 Methoden: IsOk(), IsError(), Clear().
\r
1751 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1753 \x14\x03Au0
\x02ERRTYPE::Clear()
\x02\r
1755 \x14\x03Alivoid ERRTYPE::Clear();
\r
1757 \x14\x03Af1Beschreibung
\r
1759 Die Fehlernummer wird auf ERR_OK gesetzt. Das heiát die Methode IsOk() liefert TRUE zur�ck.
\r
1761 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1762 \f\x14\x03Au0
\x14\x02PA
\x01\x02RscError
\x02\x01\r
1764 \x14\x03Ali#define ERR_ERROR 0x0100
\r
1765 #define ERR_UNKNOWN_METHOD 0x0101
\r
1766 #define ERR_OPENFILE 0x0102
\r
1767 #define ERR_NOCHAR 0x0103
\r
1768 #define ERR_NORSCINST 0x0104
\r
1769 #define ERR_USAGE 0x0105
\r
1770 #define ERR_NOINPUT 0x0106
\r
1771 #define ERR_UNKNOWNSW 0x0107
\r
1772 #define ERR_REFTODEEP 0x0108
\r
1774 #define ERR_RSCRANGE 0x0200
\r
1775 #define ERR_RSCRANGE_OUTDEFSET (ERR_RSCRANGE +1 )
\r
1776 #define ERR_RSCENUM 0x0210
\r
1777 #define ERR_RSCFLAG 0x0220
\r
1778 #define ERR_RSCCONT 0x0240
\r
1779 #define ERR_CONT_INVALIDPOS (ERR_RSCCONT +1 )
\r
1780 #define ERR_CONT_INVALIDTYPE (ERR_RSCCONT +2 )
\r
1781 #define ERR_RSCCMPED 0x0250
\r
1782 #define ERR_RSCINST 0x0260
\r
1783 #define ERR_RSCINST_NOVARNAME (ERR_RSCINST +1 )
\r
1784 #define ERR_RSCINST_RESERVEDNAME (ERR_RSCINST +2 )
\r
1785 #define ERR_LEX 0x0270
\r
1786 #define ERR_YACC 0x0280
\r
1787 #define ERR_DOUBLEID (ERR_YACC +1 )
\r
1788 #define ERR_FALSETYPE (ERR_YACC +2 )
\r
1789 #define ERR_NOVARIABLENAME (ERR_YACC +3 )
\r
1790 #define ERR_USHORTRANGE (ERR_YACC +4 )
\r
1791 #define ERR_IDRANGE (ERR_YACC +5 )
\r
1792 #define ERR_NOCOPYOBJ (ERR_YACC +6 )
\r
1793 #define ERR_REFNOTALLOWED (ERR_YACC +7 )
\r
1794 #define ERR_DOUBLEDEFINE (ERR_YACC +8 )
\r
1795 #define ERR_COPYNOTALLOWED (ERR_YACC +9 )
\r
1796 #define ERR_IDEXPECTED (ERR_YACC +10)
\r
1797 #define ERR_ZERODIVISION (ERR_YACC +11)
\r
1798 #define ERR_PRAGMA (ERR_YACC +12)
\r
1799 #define ERR_DECLAREDEFINE (ERR_YACC +13)
\r
1801 #define WRN_LOCALID (ERR_WARNING +1 )
\r
1802 #define WRN_GLOBALID (ERR_WARNING +2 )
\r
1803 #define WRN_SUBINMEMBER (ERR_WARNING +3 )
\r
1804 #define WRN_CONT_NOID (ERR_WARNING +4 )
\r
1805 #define WRN_STR_REFNOTFOUND (ERR_WARNING +5 )
\r
1806 #define WRN_MGR_REFNOTFOUND (ERR_WARNING +6 )
\r
1807 #define WRN_CONT_DOUBLEID (ERR_WARNING +7 )
\r
1811 USHORT nErrors;// Anzahl der Fehler
\r
1813 void SetListFile( FILE * fList );
\r
1814 virtual void StdOut( const char * );
\r
1815 virtual void LstOut( const char * );
\r
1816 virtual void Error( ERRTYPE nError, RscTop* pClass,
\r
1818 const char * pMessage = NULL );
\r
1819 virtual void FatalError( ERRTYPE nError, const RscId
\r
1820 &aId, const char * pMessage = NULL );
\r
1823 \x14\x03Af1Beschreibung
\r
1825 In dieser Klasse werden Fehlermeldungen ausgegeben. Die Fehlermeldungen werden zur
1826 Standartausgabe geschickt und in eine Listing-Datei geschrieben. Nach Aufruf der Methode
1827 FatalError() wird die Funktion RscExit() aufgerufen. Diese sollte das Programm terminieren.
\r
1828 Die Ausgabe der Fehler hat folgendes Format:
\r
1829 1.
\x04\x03Zeile in der der Fehler aufgetreten ist.
\r
1830 2.
\x04\x03Position an der der Fehler aufgetreten ist.
\r
1831 3.
\x04\x03Fehlernummer: Error ( Typ, Identifier ): Fehlermeldung.
\r
1833 \x14\x03Af1Ausnahmen
\r
1835 Die Ausgabe wird unter MS-Windows nicht nach "stdout" umgeleitet, sondern sie wird unterdr�ckt.
\r
1837 \x14\x03Af1Anmerkungen
\r
1839 Die Klasse tauscht Zeilennummern, Zeilen usw. �ber globale Variable mit dem Parser aus. Aus diesem
1840 Grund darf der Parser nicht rekursiv aufgerufen werden.
\r
1841 Wenn ein Fehler am Ende einer Zeile bemerkt wird, wird h„ufig die Zeile nach der Fehlerhaften
1844 \x14\x03Af1Querverweise
\r
1846 Klassen: RscTypCont, ERRTYPE, RscId, RscFileInst, alle Rsc... Klassen.
\r
1847 Funktionen: ::RscExit(), ::parser(), ::MacroParser(), ::IncludeParser().
\r
1849 \x14\x03Af1Beispiel
\r
1850 \x14\x03AgaImplementation der Standartausgabe unter MS-Windows.
\r
1853 class WinError :: public RscError{
\r
1854 \x04\x03ListBox * pOutput;
\r
1856 \x04\x03WinError( ListBox * pListBox ) : RscError(){
\r
1857 \x04\x03 \x04\x03pOutput = pListBox;
\r
1859 \x04\x03void StdOut( const char * pStr ){
\r
1860 \x04\x03 \x04\x03//fuer gute Ausgabeformatierung muesste auf RETURN
\r
1861 \x04\x03 \x04\x03//geachtet werden
\r
1862 \x04\x03 \x04\x03pOutput.Insert( pStr, LISTBOX_APPEND );
\r
1866 \f\x14\x03Aga
\x0f\x05\x03\x14\x02paÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1868 \x14\x03Au0
\x02Fehlernummern
\x02\r
1870 \x14\x03AfpERR_ERROR
\x04\x18Allgemeiner Fehler, dieser Fehler kann nicht nicht genauer
1871 \x04"spezifiziert werden.
\r
1872 ERR_UNKNOWN_METHOD
\x04\x0fEine virtuelle Methode die in der abgeleiteten Klasse nicht
1873 \x04"implementiert ist. Siehe Methoden der Klasse RscInst: SetString(),
1874 \x04"SetNumber .... Man kann die Fehlermeldung als Typfehler
1875 \x04"betrachten, das heiát dieser Typ darf nicht verwendet werden.
\r
1876 ERR_OPENFILE
\x04\x15Die Datei mit dem angegebenen Namen konnte nicht ge”ffnet
1878 ERR_NOCHAR
\x04\x17Es konnte kein Zeichen generiert werden. Zum Beispiel kann
1879 \x04"'\333' nicht in ein Zeichen umgewandelt werden.
\r
1880 ERR_NORSCINST
\x04\x14Interner Fehler, eine Methode soll auf eine ung�ltige Instanz
1881 \x04"angewendet werden.
\r
1882 ERR_NOINPUT
\x04\x16Es wurde keine Eingabedatei angegeben.
\r
1883 ERR_USAGE
\x04\x18Es wird eine Kommandozeilenhilfe ausgegeben (rsc -h).
\r
1884 ERR_UNKNOWNSW
\x04\x14In der Kommandozeile wurde ein unbekannter Schalter
1886 ERR_REFTODEEP
\x04\x14Referenzen werden nur bis zu einer bestimmten Tiefe aufgel”st.
1887 \x04"Der Fehler bedeutet, das Referenzen rekursiv definiert wurden
1888 \x04"oder daá sie zu tief verschachtelt sind.
\r
1889 ERR_RSCRANGE
\x04\x15In der Klasse RscRange ist ein Fehler aufgetreten.
\r
1890 ERR_RSCRANGE_OUTDEFSET
\x04\vIn eine RscRange-Instanz wurde versucht eine Zahl einzusetzen,
1891 \x04"die auáerhalb des Wertebereichs liegt.
\r
1892 ERR_RSCENUM
\x04\x16In der Klasse RscEnum ist ein Fehler aufgetreten.
\r
1893 ERR_RSCFLAG
\x04\x16In der Klasse RscFlag ist ein Fehler aufgetreten.
\r
1894 ERR_RSCCONT
\x04\x16In der Klasse RscCont ist ein Fehler aufgetreten.
\r
1895 ERR_CONT_INVALIDPOS
\x04\x0eIn einer RscCont-Instanz wurde auf eine Position zugegriffen, auf
1896 \x04"der sich keine Instanz befunden hat.
\r
1897 ERR_CONT_INVALIDTYPE
\x04\rIn einer RscCont-Instanz wurde versucht eine Instanz mit
1898 \x04"falschem Typ einzusetzen.
\r
1899 ERR_RSCINST
\x04\x16In der Klasse RscInst ist ein Fehler aufgetreten.
\r
1900 ERR_RSCINST_NOVARNAME
\x04\fEine Methode der Klasse RscInst die einen Variablennamen als
1901 \x04"Parameter ben”tigt stellt fest, das dieser Name in der
1902 \x04"entsprechenden Instanz nicht als Variable definiert ist. Vermutlich
1903 \x04"hat die RscInst-Instanz einen anderen Typ als erwartet.
\r
1904 ERR_RSCINST_RESERVEDNAME
\x04\x10F�r ein Makro soll eine Name verwendet werden, der
1905 \x04"schon belegt ist. Namen k”nnen zum Beispiel schon f�r Variablen
1906 \x04"vergeben sein.
\r
1908 Es folgen Fehler die beim Parsen auftreten k”nnen.
\r
1909 \x14\x03AfpERR_YACC
\x04\x19Allgemeiner Fehler der beim Parsen aufgetreten ist.
\r
1910 ERR_DOUBLEID
\x04\x15Zwei globale Resourcen haben den gleichen Identifier.
\r
1911 ERR_FALSETYPE
\x04\x14Der verwendete Typ ist nicht erlaubt.
\r
1912 ERR_NOVARIABLENAME
\x04\x0fDie Variable darf hier nicht verwendet werden.
\r
1913 ERR_USHORTRANGE
\x04\x12Der Zahlenwert ist auáerhalb von [0, 0xFFFF].
\r
1914 ERR_IDRANGE
\x04\x16Der Zahlenwert ist auáerhalb von [0, 0x7FFF].
\r
1915 ERR_NOCOPYOBJ
\x04\x14Defaultresource wurde nicht gefunden. Eine Resourceinstanz kann
1916 \x04"mit einer anderen initialisiert werden. Diese ander Instanz wurde
1917 \x04"nicht gefunden.
\r
1918 ERR_REFNOTALLOWED
\x04\x10An dieser Stelle ist die Angabe einer Referenz verboten.
\r
1919 ERR_DOUBLEDEFINE
\x04\x11Ein Makroname soll doppelt vergeben werden.
\r
1920 ERR_COPYNOTALLOWED
\x04\x0fDie Angabe einer Defaultresource ist verboten.
\r
1921 ERR_IDEXPECTED
\x04\x13Ein Identifier muá Angegeben werden.
\r
1922 ERR_ZERODIVISION
\x04\x11Es sollte durch Null geteilt werden.
\r
1923 ERR_PRAGMA
\x04\x17Bei der Angabe eines Pragmas ist ein Fehler aufgetreten.
\r
1924 \fERR_DECLAREDEFINE
\x04\x10Ein Makro mit dieser Deklaration kann nicht erstellt werden.
1925 \x04"Entweder eine rekursive Definition oder die verwendeten Makros
1926 \x04"sind nicht in der Abh„ngigkeitsliste.
\r
1928 Es folgen Warnungen.
\r
1929 \x14\x03AfpWRN_LOCALID
\x04\x16Resourcen die sich innerhalb einer anderen Resource befinden
1930 \x04"(Unterresourcen) haben ein Identifier �ber 255.
\r
1931 WRN_GLOBALID
\x04\x15Globale Resourcen haben einen Identifier unter 256.
\r
1932 WRN_SUBINMEMBER
\x04\x12Die Unterresource werden nicht beachtet. Das bedeutet, daá auf
1933 \x04"diese Resourcen zur Laufzeit nicht zugegriffen werden kann.
\r
1934 WRN_CONT_NOID
\x04\x14Die Resourcen haben einen ung�ltigen Identifier. Auf diese
1935 \x04"Resourcen kann zur Laufzeit nicht zugegriffen werden.
\r
1936 WRN_STR_REFNOTFOUND
\x04\x0eBeim schreiben ein rc-Datei konnte eine Stringreferenz nicht
1937 \x04"aufgel”st werden.
\r
1938 WRN_MGR_REFNOTFOUND
\x04\x0eBeim schreiben ein rc-Datei konnte eine Referenz nicht aufgel”st
1939 \x04"werden. Wenn auf Unterresourcen zugegriffen wird, die sich in
1940 \x04"der referenzierten Resource befinden, dann kann ein
1941 \x04"Laufzeitfehler auftreten.
\r
1942 WRN_CONT_DOUBLEID
\x04\x10Zwei Unterresource haben den gleichen Identifier.
\r
1944 \x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1946 \x14\x03Au0
\x02RscError::RscError()
\x02\r
1948 \x14\x03AliRscError::RscError();
\r
1950 \x14\x03Af1Beschreibung
\r
1952 Eine Instanz wird erzeugt. Der Fehlerz„hler wird auf Null gesetzt.
\r
1954 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1956 \x14\x03Au0
\x02RscError::SetListFile()
\x02\r
1958 \x14\x03Alivoid RscError::SetListFile( FILE * fLstFile );
\r
1960 \x14\x03Af1Beschreibung
\r
1962 Es wird eine Datei angegeben in die das Listing und die Fehlermeldungen geschrieben werden.
1963 fListing darf auch NULL sein, dann wird kein Listing erzeugt.
\r
1965 \x14\x03Af1Parameter
\r
1967 \x14\x03AfpfLstFile
\x04\x19Dies ist die Datei in die geschrieben wird.
\r
1969 \x14\x03Af1Anmerkung
\r
1971 F�r das ™ffnen und Schlieáen ist der Aufrufer verantwortlich.
\r
1973 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1975 \x14\x03Au0
\x02RscError::StdOut()
\x02\r
1977 \x14\x03Alivirtual void RscError::StdOut( const char * pStr );
\r
1979 \f\x14\x03Af1Beschreibung
\r
1981 Alle Zeichenketten werden nach stdout geschrieben.
\r
1983 \x14\x03Af1Parameter
\r
1985 \x14\x03AfppStr
\x04\x1dDies ist die Zeichenkette die geschrieben wird.
\r
1987 \x14\x03Af1Ausnahmen
\r
1989 Unter MS-Windows wird nicht nach stdout ausgegeben.
\r
1991 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
1993 \x14\x03Au0
\x02RscError::StdLst()
\x02\r
1995 \x14\x03Alivirtual void RscError::StdLst( const char * pStr );
\r
1997 \x14\x03Af1Beschreibung
\r
1999 Alle Zeichenketten werden in die Listing-Datei geschrieben.
\r
2001 \x14\x03Af1Parameter
\r
2003 \x14\x03AfppStr
\x04\x1dDies ist die Zeichenkette die geschrieben wird.
\r
2005 \x14\x03Af1Ausnahmen
\r
2007 Wenn keine Listing-Datei angegeben ist passiert nichts.
\r
2011 Methoden: SetListFile().
\r
2013 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2015 \x14\x03Au0
\x02RscError::Error()
\x02\r
2017 \x14\x03Alivirtual void RscError::Error( ERRTYPE aError,
\r
2019 const RscId & rId,
\r
2020 const char * pMess = NULL );
\r
2022 \x14\x03Af1Beschreibung
\r
2024 Mit dieser Methode werden Fehler- und Warnungsmeldungen ausgegeben. Die Methode benutzt die
2025 Methoden StdOut() und LstOut(). Wenn eine Fehlermeldung vorliegt wird der Fehlerz„hler um eins
2028 \x14\x03Af1Parameter
\r
2030 \x14\x03AfpaError
\x04\eHierin ist die Fehlernummer gespeichert. šber diese wird der
2031 \x04"Fehlertext ermittelt.
\r
2032 pClass
\x04\eDies ist der Typ der Resourceinstanz, in der der Fehler aufgetreten
2033 \x04"ist. pClass darf NULL sein.
\r
2034 rId
\x04\x1eDies ist der Identifier der Resourceinstanz, in der der Fehler
2035 \x04"aufgetreten ist.
\r
2036 \fpMess
\x04\x1cDies ist der Fehlertext. pMess darf NULL sein.
\r
2038 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2040 \x14\x03Au0
\x02RscError::FatalError()
\x02\r
2042 \x14\x03Alivirtual void RscError::FatalError( ERRTYPE aError,
\r
2043 const RscId & rId,
\r
2044 const char * pMess = NULL );
\r
2046 \x14\x03Af1Beschreibung
\r
2048 Mit dieser Methode werden schwerwiegende Fehler angezeigt. Die Methode benutzt die Methoden
2049 StdOut() und LstOut(). Die Funktion RscExit( 1 ) wird gerufen, diese sollte das Programm beenden.
\r
2051 \x14\x03Af1Parameter
\r
2053 \x14\x03AfpaError
\x04\eHierin ist die Fehlernummer gespeichert. šber diese wird der
2054 \x04"Fehlertext ermittelt.
\r
2055 rId
\x04\x1eDies ist der Identifier der Resourceinstanz, in der der Fehler
2056 \x04"aufgetreten ist.
\r
2057 pMess
\x04\x1cDies ist der Fehlertext. pMess darf NULL sein.
\r
2059 \x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2061 \x14\x03Au0
\x01\x02::RscExit()
\x01\x02\r
2063 \x14\x03Alivoid RscExit( USHORT nExit );
\r
2065 \x14\x03Af1Beschreibung
\r
2067 Diese Methode wird gerufen wenn ein schwerwiegende Fehler aufgetreten ist. Das Programm muá
2070 \x14\x03Afp1
\x04 Die Funktion FatalError() wurde aufgerufen.
\r
2071 10
\x04\x1fMit den c-Funktionen alloc() oder realloc() wird kein Speicher
2072 \x04"mehr zur Verf�gung gestellt.
\r
2073 11
\x04\x1fHashtabelle l„uft �ber.
\r
2074 12
\x04\x1fEs wird mehr als 64k -1 Byte Speicher angefordert.
\r
2075 13
\x04\x1fIn einem internen Zeichenkettenfeld ist nicht genug Platz.
\r
2076 14
\x04\x1fEs wird ein Objekt gel”scht auf das noch mindestens eine
2077 \x04"Referenz besteht.
\r
2078 16
\x04\x1fMaximal 32 Variablen pro Klasse erlaubt.
\r
2080 \x14\x03Af1Parameter
\r
2082 \x14\x03AfpnExit
\x04\x1cMit Hilfe dieser Zahl wird der aufgetreten Fehler etwas genauer
2085 \x14\x03Af1Beispiel
\r
2087 \x14\x03Alivoid RscExit( USHORT nExit ){
\r
2088 \x04\x03if( nExit )
\r
2089 \x04\x03 \x04\x03printf( "Program exit ist %d\n" nExit );
\r
2090 \x04\x03exit( nExit );
\r
2093 \f\x14\x03Aga
\x0f\x05\x03ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\r
2097 \f\x14\x03Ssv
\x14\x03Aga
\x14\x02PA
\r
2098 \x14\x03Au0
\x01Stichwortverzeichnis
\x01\r
2100 \x14\x03Asv::RscExit()
\x04\x1e15
\r
2101 ERRTYPE::Clear()
\x04\x1a9
\r
2102 ERRTYPE::ERRTYPE()
\x04\x187
\r
2103 ERRTYPE::IsError()
\x04\x188
\r
2104 ERRTYPE::IsOk()
\x04\e9
\r
2105 ERRTYPE::IsWarning()
\x04\x169
\r
2106 ERRTYPE::operator =()
\x04\x157
\r
2107 ERRTYPE::operator USHORT()
\x04\x108
\r
2109 Fehlernummern
\x04\x1c12
\r
2111 RscError::Error()
\x04\x1814
\r
2112 RscError::FatalError()
\x04\x1315
\r
2113 RscError::RscError()
\x04\x1513
\r
2114 RscError::SetListFile()
\x04\x1213
\r
2115 RscError::StdLst()
\x04\x1714
\r
2116 RscError::StdOut()
\x04\x1713
\r