Printerless Option - wie in C# setzen?

Hallo,

ich stehe bei dieser wahrscheinlich supereinfache Frage an:

  1. Vor dem ersten Erzeugen eines Reports in einem Service erstelle ich einen LL-Dummy, damit die combit Libs geladen werden
  2. Hier setze ich die Lizenzinfo

Frage: Wie setze ich den printerless mode korrekt ein?

Danke

Niko

if (_dummyReport == null)
{
_dummyReport = new ListLabel();
_dummyReport.Core.LlSetOption(LlOption.Printerless, -1);
_dummyReport.LicensingInfo = “whatever”;
}

Hallo,

Wenn die besagte Printerless-Eigenschaft auf true gestellt ist, dann verwendet List & Label ein virtuelles Gerät für die Berechnung der Ausgaben. Auf dem System wird dadurch kein Druckertreiber benötigt und verwendet. Beachte bitte, dass dies einen minimalen Einfluss auf die Positionierung der Ausgaben haben kann.

Diese Eigenschaft muss direkt nach der Erstellung des ersten Objekts gesetzt werden (siehe auch Multithreading und Schutzjob), da das Setzen dieser Eigenschaft dazu führt, dass der zugrundeliegende List & Label Job geschlossen und wieder geöffnet wird. Alle definierten Variablen, Felder etc. werden dadurch zurückgesetzt. Die Eigenschaft muss daher so früh wie möglich gesetzt werden - direkt nach dem Erzeugen der ersten Instanz der Komponente. Eine Mischung von aktiviertem und deaktiviertem Printerless-Modus in den in der Anwendung verwendeten Objekten wird nicht unterstützt und kann zu unerwartetem Verhalten führen.

-siehe dazu:

Hallo,

danke für die Rückmeldung.

Wenn ich Printerless = true bei Schutzjob ganz am Anfang setze, haben dann die später erzeugten Instanzen dieses Property bereits auf true gesetzt?

Müssen der Schutzjob und alle späteren Instanzen im gleichen Thread entstehen?

Hallo,

Ja korrekt - wenn “Printerless” = true, bei einem Schutzjob zu Beginn gesetzt wird, dann werden die im späteren Verlauf erzeugten Instanzen dieser Property auch bereits auf true gesetzt.

Nein - der Schutzjob und alle späteren (weiteren) Instanzen müssen nicht im gleichen Thread entstehen.

Hallo,

und wenn man den Schutzjob beendet und nochmal neu aufbaut könnte man damit nicht Printerless wieder deaktivieren ohne die Anwendung neustarten zu müssen?

Hallo,

ich sehe bei den LL Instanzen, die nach dem Schutzjob erstellt werden, weiterhin Printerless = false

Was könnte die Ursache sein?

Hallo Leonard,

herzlich willkommen im Reporting Forum.

Wenn tatsächlich alle Instanzen beendet sind und die entsprechende DLL ebenfalls entladen wurde, sollte das funktionieren.

Viele Grüße
Martin

Hallo,

ich sehe bei den LL Instanzen, die nach dem Schutzjob erstellt werden, weiterhin Printerless = false

Was könnte die Ursache sein?

Auch wenn das Property auf „False“ steht, ist entscheidend, welcher List & Label -Job zuerst ausgeführt wurde. Dieser gibt das Verhalten vor, sodass es effektiv dennoch „True“ sein sollte.

Sollte es sich bei dir anders verhalten, würden wir uns über eine kurze Rückmeldung freuen. Dann würden wir das intern einmal genauer prüfen.

Viele Grüße
Martin