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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Callbacks und Notifications<br />

11. Callbacks und Notifications<br />

Dieses Kapitel ist nur für Anwendungen interessant, die nicht über .NET, OCX- oder VCL-<br />

Controls auf <strong>List</strong> & <strong>Label</strong> zugreifen. Entwickler, die das .NET, OCX- oder VCL-Control<br />

verwenden, können dieses Kapitel überspringen.<br />

11.1. Aufgabe<br />

Folgendes Prinzip steckt hinter den Begriffen "Callbacks und Notifications": wenn <strong>List</strong> &<br />

<strong>Label</strong> etwas nicht weiß, fragt es einfach Ihr Programm. Sie müssen nicht alle Antworten<br />

vorprogrammieren, sondern nur die, zu denen Sie Anfragen ausdrücklich wünschen.<br />

Beispielsweise gibt es programmdefinierbare Objekte sog. User-Objekte, die von <strong>List</strong> &<br />

<strong>Label</strong> wie eine "black box" behandelt werden. Wenn <strong>List</strong> & <strong>Label</strong> solch ein Objekt ausgeben<br />

muss, wendet es sich an Ihr Programm mit der Bitte, diese Aufgabe durchzuführen.<br />

Diese Art "Objekt-Container" kann verwendet werden, um Sonderwünsche nach speziellen<br />

Objekten, beispielsweise extern erstellte Charts, erfüllen zu können. Sie müssen hier<br />

keine komplette Schnittstelle, sondern nur eine einzige Routine zur Verfügung stellen.<br />

Aber auch bei der Datenausgabe kann etwas gezaubert werden - über die Callbackmöglichkeit<br />

kann man Daten auf eine Seite hinzufügen, die vom Programm gesteuert<br />

sind (und somit vom Benutzer auch nicht im Designer entfernbar), man kann Objekte<br />

kurzerhand verstecken (das kann man aber auch über LlPrintEnableObject() oder die<br />

Darstellungsbedingung eines Objekts) oder objektspezifische Bemalung ausgeben.<br />

11.1.1. Implementierung über .NET, OCX- oder VCL-Control<br />

In diesen Controls stehen Ihnen die meisten Callbacks als Event zur Verfügung. Einzelheiten<br />

finden Sie in der jeweiligen Online-Hilfe.<br />

11.1.2. Implementierung mit der DLL<br />

Um Callbacks/Events zu nutzen, muss eine der folgenden Möglichkeiten implementiert<br />

werden:<br />

� man definiert eine Callbackroutine, deren Adresse man <strong>List</strong> & <strong>Label</strong> über LlSetNotificationCallback()<br />

mitteilt, oder<br />

� man reagiert auf von <strong>List</strong> & <strong>Label</strong> gesendete Nachrichten. Diese werden von <strong>List</strong><br />

& <strong>Label</strong> an das Fenster, das bei LlDefineLayout() und LlPrintWithBoxStart() angegeben<br />

wird, geschickt.<br />

In beiden Fällen bekommt man dann ausführlichere Informationen über die durchzuführende<br />

Aufgabe.<br />

132

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!