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.

Üblicher Designer-Ablauf.<br />

Abbruch<br />

• ruft LlPrintAbort für den Druckjob<br />

auf und kehrt zurück<br />

Statusabfrage<br />

• gibt den Wert des Prozesszustands<br />

zurück<br />

Finalisieren<br />

• ruft im Bedarfsfall LlPrintAbort auf<br />

und wartet auf das Ende des<br />

Threads<br />

Ablauf<br />

• erzeugt neuen Job<br />

• startet Druckschleife mit oben<br />

erwähnten Änderungen<br />

Wenn Druck fertig:<br />

• setzt Prozesszustand intern auf<br />

STOPPED<br />

• signalisiert Zustandsänderung<br />

•<br />

per SetEvent(hEvent) an <strong>List</strong> &<br />

<strong>Label</strong><br />

beendet Job<br />

• löscht Projektdatei<br />

Am besten ist es, wenn Sie für jeden der beiden Ausgabetypen eine eigene Struktur<br />

haben, und die Adresse der Struktur über LL_OPTION_DESIGNERPREVIEWPARAMETER<br />

und LL_OPTION_DESIGNEREXPORTPARAMETER an <strong>List</strong> & <strong>Label</strong> übergeben. Diese Struktur<br />

enthält dann sinnvollerweise:<br />

• einen eigenen Zeiger auf ein Objekt, das die Datenquelle verwaltet (wenn nötig<br />

bzw. möglich)<br />

• ein Synchronisationsobject (CRITICAL_SECTION)<br />

• das Thread-Handle des Arbeits-Threads<br />

• das Job-Handle des Arbeits-Threads<br />

• Variablen als Kopie der Startparameter<br />

Wenn Sie die Datenversorgung nur in einem Thread durchführen können weil z.B. die<br />

Datenquelle single-threaded ist, müssen Sie die Option<br />

LL_OPTION_DESIGNERPRINT_SINGLETHREADED auf TRUE setzen. Dies wird für <strong>List</strong> &<br />

<strong>Label</strong> dann dazu benutzt, dass während der Preview-Berechnung kein Export möglich ist<br />

und umgekehrt.<br />

79

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!