
*****************************************************
*  Wie unterdrcke ich die Meldung der Druckertrei- *
*  ber mit den zu bertragenden Zeilennummern ?     *
*****************************************************

   -> Treiber_konfiguration.umgebung.warnings := false;
      schaltet alle Meldungen des treibers ab, die keine
      Fehlermeldungen sind.
   -> BGIControl im unit alloc.pas schreibt die aktuelle
      Zeilennummer. ndern sie das Verhalten dieser Funktion
      nach Bedarf .

*****************************************************
*  Bei meinem Farbdrucker kommen total schwarze     *
*  Bilder heraus !                                  *
*****************************************************
   -> schauen Sie genau hin. Ihre dnnen bunten Linien
      knnen Sie wahrscheinlich doch erkennen.
      setbkcolor(15) schafft Abhilfe.


*****************************************************
*  Nach CloseGraph bzw. RestoreCrtMode wird der     *
*  Textbildschirm gelscht. Mu das sein?           *
*****************************************************

   -> Ja, ich wei nicht warum, aber Unit Graph verhlt
      sich an dieser Stelle wie ein Monitortreiber !
      Wenn sie sich der Konsequenzen bewut sind knnnen
      sie den Interrupt 10 fr closegraph umleiten.
      (Sie knnten u.U. den Monitor zerstren)

*****************************************************
*  GetDriverName funktioniert nicht !               *
*****************************************************
   -> Stimmt. InstallUserDriver vermerkt den Namen
      an einem Speicherplatz der zum Laden des Treibers
      gelesen wird. GetDriverName sucht wo anders
      nach dem Namen.

*****************************************************
*  GetModeRange funktioniert nicht !                *
*****************************************************
   -> Stimmt. Die Unit Graph hlt sich fr den Nabel
      der Welt und fragt nicht den Treiber .

*****************************************************
*  DetectGraph funktioniert nicht !                 *
*****************************************************
   -> Stimmt, DetectGraph sucht immer nach Graphikkarten
      im Rechner und wird nie einen Printer entdecken.

*****************************************************
*  RegisterBGIdriver funktioniert nicht !           *
*****************************************************
   -> Stimmt nicht ganz. Wie InstallUserDriver liefert
      diese Funktion einen um 5 zu niedrigen Wert zurck
   -> Ab Turbo C++ arbeitet RegisterBGIdriver korrekt.
   -> Turbo Pascal 6.0 arbeitet falsch


*****************************************************
*  Nachdem der Printertreiber Aktiv gewesen war     *
*  und der Monitortreiber wieder Aktiv ist,         *
*  funktioniert Fillpoly nicht mehr richtig !       *
*****************************************************
   -> Leider Ja! Die Unit Graph mag keine X-Achse, die
      grer als ca 1550 Pixel ist. Und wenn Unit Graph
      diese groe Achse einmal registriert hat, vergit
      sie sie nicht mehr.
      Wegen des eigenen Fllalgorithmus sind die Treiber
      auch so viel grer als die Monitortreiber.


*****************************************************
* OutText   OutTextXY   SetTextJustify  und         *
* SetUserCharSize                                   *
* verhalten sich auf dem Monitor anders als auf dem *
* Printer !                                         *
*****************************************************
   -> Wenn Sie mit Textheight die Wirkung von SetUserCharSize
      und SetTextStyle(.,.,size) berprfen, so werden
      Sie sehen, da die Zeichen am Monitor wegen Rundungs-
      fehlern kaum noch zu verkleinern sind ( bei normaler
      Textgre ) Die Zeichen auf dem Printer sind dagegen
      bei normaler Textgre in Pixeln ausgedrckt sehr viel
      grer und knnen demnach genauer verndert werden.
      Leben Sie mit diesem Problem oder benutzen sie die
      groben tatschlichen Vergrerungsfaktoren des Monitors
      auch fr den Printer.

*****************************************************
* arc verhlt sich auf dem Printer anders als auf   *
* dem Monitor !                                     *
*****************************************************
   -> Stimmt. arc verhlt sich auch auf dem Monitor bei NormWidth
      anders als bei Thickwidth und beide Male nicht konsistent.
      "LASER.BGI" behandelt beide Linienstrken gleich und erlaubt
      alle Start- und Stopwinkel zwischen 0 und 65535.
      Die Monitortreiber zeichnen nur den ersten Bogen bei
      ThickWidth mit dreifacher Linienstrke.
      Identische Winkel bewirken beim LASER-Treiber einen immer
      Vollkreis, bei den Monitortreibern nur manchmal !
      Ich halte meine Version von arc fr eine Verbesserung.

*****************************************************
* sector,pieslice  verhalten sich auf dem Printer   *
* anders als auf dem Monitor !                      *
*****************************************************
   -> Stimmt. Auch die gefllten runden Figuren sind nicht
      konsistent auf dem Monitor. Wenn Sie Start- und Stopwinkel
      vertauschen, dann erwarten Sie ein kleines Kuchenstck
      bzw. den Restkuchen. Unit Graph zeichnet aber fast!! immer!!
      in beiden Fllen das kleine Kuchenstck. LASER.BGI malt
      bei den Winkeln 10,50 ein Kuchenstck mit 40 Kreisbogen,
      bei den Winkeln 50,10 ein Kuchenstck mit 320 Kreisbogen.
      Vergleichen Sie hierzu die Ergebnisse von LASDEMO.PAS
      auf dem Monitor und auf Papier.

*****************************************************
* Warum dauert es so lange ?                        *
*                                                   *
*****************************************************
   -> Zwei Ursachen :
      1. Bildaufbereitung : Der Treiber legt ein temporres
         File an, das bei closegraph oft gelesen wird.
         Wenn der freie Speicherbereich gro ist, sind die
         Streifen des Bildes grer und das temporre File mu
         seltener gelesen werden.
         Im Parameterrecord gibt es einen Pfad fr das temporre
         File. Hier knnen Sie eine Ram-Floppy eintragen.
      2. Datenbertragung. Das ist der engste Flaschenhals.
         a) Schalten sie den Kompressionsmode im Parameter-Record ein.
            (siehe "Manual.txt")
         b) Drucken Sie das Bild in ein File (Mode 0 oder 8) und
            drucken Sie es mit
                    copy /B Laser.prn lpt1:
            oder
                    fprint laser.prn
            zu einer gnstigen Zeit aus (Batch).
         c) Benutzen Sie die schnellste Schnittstelle :
            Seriell ist sehr langsam
            parallel ist schneller
            Wenn Sie einen Drucker mit SCSI Schnittstelle verfgen
            ist die Datenbertragung kein Thema mehr.
         d) Eventuell kann Ihr Bild kleiner sein. Der Treiber erzeugt
            Daten fr die Punkte innerhalb der extremsten benutzten
            Koordinaten. Eine Seite mit je einem kleinen Bild oben und
            unten geht schneller, wenn sie beide getrennt erzeugen und
            den Vorschub dazwischen mit normalen Linefeeds bewirken,
            oder setviewport benutzen.
            Dazu mssen sie die Option "formfeed" im Parameterrecord
            abschalten.


*****************************************************
*                                                   *
* Unit Graph akzeptiert die Drucker-Treiber nicht ! *
* Pascal vor Version 6.0 , C vor C++                *
*****************************************************
   -> Leider ja.

      2 Mglichkeiten :
        1. Einbinden in das Programm, dann fllt die
           Lngenberprfung aus.
        2. Patchen der Unit graph.
           Auf der Lieferdiskette ist die Datei
           \pascal\bgipatch.txt enthalten. Dort steht,
           wie gepatcht wird.

*****************************************************
*                                                   *
* Unit Graph strzt beim Aufruf des dritten         *
* Installierten Treibers ab                         *
*                                                   *
*****************************************************
   -> Pascal vor Version 6.0 kann nur 2 Treiber ordentlich
      installieren. Bei Aufruf eines dritten kommt es zum
      Absturz

*****************************************************
*                                                   *
* Linien mit THICKWIDTH erscheinen nicht am Bild-   *
* rand oder der Vieweportgrenze                     *
*                                                   *
*****************************************************
   -> Leider ja.
      Einzige Abhilfe : Rnder mit einfacher NORMWIDTH
      (NORM_WIDTH in C) zeichnen. Sie knnen ja einen
      Stift mit eingestellter grerer Dicke whlen.

Ende der Hinweise

