29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Weiterführende Programmierung<br />

while (PeekMessage(hWindow,&msg,0,0,PM_REMOVE))<br />

{<br />

TranslateMessage(&msg);<br />

DispatchMessage(&msg);<br />

}<br />

<br />

{<br />

LlPrintAbort(hJob);<br />

}<br />

gemeint, die eingesetzt werden sollte, wenn nicht die Abbruch-Box von <strong>List</strong> & <strong>Label</strong><br />

benutzt wird, da ansonsten alle anderen Programme während des Ausdrucks keine<br />

optimale Rechnerzeit zugeteilt bekommen. Dies ist gerade bei sehr umfangreichen<br />

Druckvorgängen dringend erforderlich, damit das Betriebssystem hierüber die Chance<br />

bekommt, Systemressourcen wieder freizugeben.<br />

Die Nachrichtenschleife ermöglicht es sowohl einer Dialogbox, sich darzustellen und auf<br />

Eingaben (z.B. den Abbruch-Button) zu reagieren, als auch Windows, Aufgaben quasiparallel<br />

zu bearbeiten. Beim Drücken des Abbruch-Buttons wird LlPrintAbort(HLLJOB)<br />

aufgerufen, das verursacht, dass bei folgenden LlPrint....-Aufrufen immer der Fehlercode<br />

LL_ERR_USER_ABORTED zurückgegeben wird.<br />

Bei Delphi können Sie statt dieser Schleife Application.ProcessMessages, bei Visual<br />

Basic DoEvents aufrufen.<br />

3.2.3. Erläuterungen<br />

Druck-Beginn: Einlesen der Projektdatei<br />

Bevor man den Druck starten kann, muss man erst wissen, welches Projekt geladen<br />

werden soll und welche Variablen ihm zur Verfügung gestellt werden sollen.<br />

Nach der optionalen Frage an den Benutzer nach der Projektdatei über LlSelectFileDlgTitleEx()<br />

müssen alle Variablen definieren werden, die dieses Projekt haben könnte. Wenn<br />

<strong>List</strong> & <strong>Label</strong> auf einen Ausdruck stößt, in dem eine unbekannte Variable vorkommt, beendet<br />

<strong>List</strong> & <strong>Label</strong> den Ladevorgang (und damit den Druckvorgang) und gibt den entsprechenden<br />

Fehlercode zurück. Die Variablendefinitionen werden analog zu denjenigen<br />

beim Designer-Aufruf programmiert.<br />

Wenn es ein <strong>List</strong>en-Projekt (LL_PROJECT_LIST) ist, müssen auch die Felder definiert<br />

werden.<br />

Außerdem gibt es da noch Sonderwünsche, die der Benutzer evtl. eingeben möchte,<br />

also erste Seitennummer, Zahl der Kopien, Wahl eines Druckers etc., so dass der Druckerdialog<br />

nicht fehlen sollte (LlPrintOptionsDialog(), LlPrintOptionsDialogTitle()). Normalerweise<br />

sollte zumindest die Möglichkeit geboten werden, den Drucker vor dem Ausdruck<br />

zu ändern, da sonst der im Designer eingestellte Drucker verwendet wird.<br />

40

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!