+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

List & Label: Drucker ohne Auswahl-Dialog bestimmen

(combit Team) #1
Gilt ab List & Label 6
Wie kann der Zieldrucker vom Programm aus festgelegt werden, ohne dem Benutzer einen entsprechenden List & Label Auswahl-Dialog anzuzeigen? 

Sie können dies mit Hilfe des Befehles LlSetPrinterInPrinterFile() realisieren.

Übergeben Sie der Funktion neben dem entsprechenden Projekt den Namen des gewünschten Druckers, sowie einen Zeiger auf eine, für diesen Drucker gültige, DEVMODE-Struktur. Der letztgenannte Parameter ist optional. Wenn Sie einen NULL-Pointer übergeben, werden die Standard-Einstellungen des Druckers verwendet. Der Aufruf könnte in diesem Fall wie folgt aussehen (PseudoCode):
retValue = LlSetPrinterInPrinterFile (hJob, LL_PROJECT_LABEL, "TEST.LBL", -1, "Mein Drucker", NULL-Pointer)


Bitte beachten Sie, dass Sie ggf. Ihr Deklarationsfile anpassen müssen, damit Sie als letzten Parameter einen NULL-Pointer übergeben können. 

Bei VisualBasic muss hierzu bspw. in der Deklarationsdatei der letzte Parameter von pDevMode as DEVMODE auf ByVal pDevMode as Long geändert werden.

Ab Version List & Label 6.0 ist ein Visual Basic 6.0 Beispiel verfügbar, das die Verwendung des Befehles erläutert. Dieses finden Sie in den Beispielen der Trial-Version im Verzeichnis VB.

In Microsoft .NET wird die Methode LlSetPrinterInPrinterFile dazu benutzt, den zu verwendenden Drucker für ein Projekt programmatisch festzulegen. Es kann hierzu eine DEVMODE-Struktur mit den benötigten Informationen übergeben werden. Dank mehrerer Überladungen ist es bei der .NET Komponente zudem möglich, eine Instanz der Klasse PrinterSettings aus dem .NET Framework zuzuweisen.

Beispiel für .NET/C#:

PrinterSettings settings = new PrinterSettings();
settings.PrinterName = PrinterSettings.InstalledPrinters[0];
LL.Core.LlSetPrinterInPrinterFile(LlProject.List, "c:\\liste.lst", LlPrinterIndex.AllPages, settings);


Da diese Datei von LlPrintStart() und LlPrintWithBoxStart() eingelesen wird, muss
der Befehl vor dem Aufruf dieser Funktionen durchgeführt werden.

IDKBTD000415 KBTD000415