Hängenbleiben bei LoadDefaultPrinterInfo

Hallo Forum & Support,

immer wieder erreichen uns Meldungen, dass beim Ausdruck/Vorschau/PDF-Export der Aufruf der Aktion aus unserer Anwendung hängen bleibt. Der Anwender ist anschließend gezwungen unseren Anwendung unplanmäßig zu beenden.
Nachdem wir vor einiger Zeit beim einem unserer Kunden die Debug-Protokollierung diesbezüglich eingeschaltet haben, meldete sich heute ein Kunde und wir konnten uns das Log dazu ansehen.

CMLL28  : 11:38:52.891 0000286c/01 4 [L01 LIC]:     LIC: _nLicState=3
CMLL28  : 11:38:52.892 0000286c/01 5 [L02 API]:    >loading project file 'C:\VLH\Lotus\Notes\Data\LL28\LLReport\Formulare\ELSTER Einkommensteuererklärung_VLH42.lst'/00000000 (FileAttributes=0x00000020, LoadType=normal, r/o)
CMLL28  : 11:38:52.892 0000286c/01 6 [L02 NTF]:     >@NOTIF.(code=113, param=011EF588, user=00000000)
CMLL28  : 11:38:52.892 0000286c/01 7 [L03 NTF]:      HINT: There is no destination window handle to send the call to. Please use LlSetNotificationCallback(), or pass a valid window handle to LL_OPTION_NOTIFICATIONMESSAGEHWND or API calls, if you need the message.
CMLL28  : 11:38:52.892 0000286c/01 8 [L02 NTF]:     <@NOTIF.(code=113) -> 00000000
CMLL28  : 11:38:52.892 0000286c/01 9 [L01 GEN]:     load config 'C:\VLH\Lotus\Notes\Data\LL28\LLReport\Formulare\ELSTER Einkommensteuererklärung_VLH42.lst'

Im Log des gleichen Rechners konnten wir zu einem früheren Zeitpunkt sehen, dass der gleiche Report bereits erfolgreich aufgerufen werden konnte. Der Log Auszug hierbei:

CMLL28  : 13:45:21.234 00002944/02 0 [L01 LIC]:     LIC: _nLicState=3
CMLL28  : 13:45:21.238 00002944/01 1 [L02 API]:    >loading project file 'C:\VLH\Lotus\Notes\Data\LL28\LLReport\Formulare\ELSTER Einkommensteuererklärung_VLH42.lst'/00000000 (FileAttributes=0x00000020, LoadType=normal, r/o)
CMLL28  : 13:45:21.239 00002944/00 2 [L02 NTF]:     >@NOTIF.(code=113, param=008EE880, user=00000000)
CMLL28  : 13:45:21.239 00002944/00 3 [L03 NTF]:      HINT: There is no destination window handle to send the call to. Please use LlSetNotificationCallback(), or pass a valid window handle to LL_OPTION_NOTIFICATIONMESSAGEHWND or API calls, if you need the message.
CMLL28  : 13:45:21.239 00002944/00 4 [L02 NTF]:     <@NOTIF.(code=113) -> 00000000
CMLL28  : 13:45:21.241 00002944/01 5 [L01 GEN]:     load config 'C:\VLH\Lotus\Notes\Data\LL28\LLReport\Formulare\ELSTER Einkommensteuererklärung_VLH42.lst'
CMLL28  : 13:45:21.473 00002944/02 6 [L01 GEN]:     >clsApplication::LoadDefaultPrinterInfo
CMLL28  : 13:45:21.532 00002944/02 7 [L01 GEN]:     <clsApplication::LoadDefaultPrinterInfo
CMLL28  : 13:45:21.533 00002944/02 8 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.533 00002944/02 9 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.571 00002944/01 0 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.571 00002944/01 1 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.572 00002944/01 2 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.572 00002944/01 3 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.573 00002944/02 4 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.573 00002944/02 5 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.573 00002944/02 6 [L01 GEN]:     >Query host to replace 'C:\VLH\Lotus\Notes\Data\LL28\LLReport\Formulare\logo.jpg' (LL_QUERY_REPLACE_FILESYSTEMITEM)
CMLL28  : 13:45:21.573 00002944/02 7 [L02 NTF]:      >@NOTIF.(code=105, param=008EE234, user=00000000)
CMLL28  : 13:45:21.573 00002944/02 8 [L02 NTF]:      <@NOTIF.(code=105) -> 00000000
CMLL28  : 13:45:21.573 00002944/02 9 [L01 GEN]:     <nope, host cannot help
CMLL28  : 13:45:21.574 00002944/02 0 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.574 00002944/02 1 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.574 00002944/02 2 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.574 00002944/02 3 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.575 00002944/02 4 [L02 NTF]:     >@NOTIF.(code= 37, param=008EE594, user=00000000)
CMLL28  : 13:45:21.575 00002944/02 5 [L02 NTF]:     <@NOTIF.(code= 37) -> 00000000
CMLL28  : 13:45:21.576 00002944/02 6 [L01 LIC]:     clsLicenseInfo::IsAllowed(1,state=00000003)
CMLL28  : 13:45:21.576 00002944/02 7 [L01 LIC]:      LIC: _nLicState=3
CMLL28  : 13:45:21.576 00002944/02 8 [L01 LIC]:     clsLicenseInfo::IsAllowed(1,state=00000003)

Daher schließe ich nun daraus, dass irgendwo nach dem Laden der LST-Datei es bei der anschließenden prokotollierten Funktion “LoadDefaultPrinterInfo” wohl zu dem Hang der Anwendung kommt.

Hat jemand eine Idee wie dies gelöst werden könnte?
Problem hierbei ist, dass der Fehler wirklich nur gelegentlich auftritt und ich die genaue Konstellation in der der Fehler auftritt, noch nicht gefunden habe.

Anbei noch ein debwin Auszug. Diesmal allerdings für den Fall wo der Ausdruck funktioniert:

Viele Grüße

NicoP.

Klingt doch recht interessant. Ich würde mal auf das Laden der Druckerinformationen tippen, die je nach Drucker und System seine Zeit brauchen könnten. Aber mit den Log-Fetzen kann man das leider nicht genauer sagen. Das müsste man sonst mal dem Support von combit vorwerfen, damit die sich die beiden Logfiles komplett im Detail genauer anschauen könnten.

Aus der Ferne betrachtet würde ich sonst einmal versuchen, die “Drucker” auszuschließen. Spannend am Screenshot ist, dass der Druckername eine Klammer hat, was ggf. auf Netzwerkdrucker hinweisen könnte - konkret auf Drucker die ggf. mit Hilfe eines RDP-Zugangs vom Client mit auf das Zielsystem “durchgereicht” wird. Das ist oft sehr “gemütlich” um es nett zu formulieren - aber eben auch Systembedingt. Das Suchen und Laden der Drucker kann man mal der Option LL_OPTION_NOPRINTERPATHCHECK (siehe auch Drucken über Netzwerkdrucker) versuchen zu deaktivieren. Vielleicht kann das bei der Eingrenzung helfen.

Hallo!

In deinen Logs sehe ich jetzt keine Verzögerung. Man müsste dies sonst am Zeitstempfel sehen.

Es kann sein, dass manche Drucker, insbesondere Netzwerkdrucker, bei der Abfrage der Daten nicht so schnell reagieren.

In dem Zusammenhang fällt mir nur die Option LL_OPTION_NOPRINTERPATHCHECK ein.
Aber was es genau ist, kann dir ggf. der Support von combit sagen, sofern die eine Logdatei bekommen, die genau diesen Fall zeigt.

Grüße

HP

Hallo Forum,
danke für eure Antworten.
Leider haben wir hier immer noch das Problem und bekommen dies seit Jahre nicht gelöst.

Wäre es nicht eine Möglichkeit, dass combit in List&Label einen Timeout Option ermöglicht, welche nach x Sekunden den Abbruch der LLPrintStart/LLPrintWithBoxStart einleitet. Würde ein Timeout erreicht, sollte der Rückgabewert dem aufrufenden Programm es ermöglichen dem Anwender z.B. eine Meldung auszugeben nach dem Motto: “Drucker antwortet nicht oder ist nicht korrekt installiert/konfiguriert!”

Was meint der Combit Support dazu?

Viele Grüße

Nico Prenzel

Melde dich doch mal beim Support. Wir sollten einen Blick auf ein Dumpfile werfen, in dem Moment in dem die Anwendung hängt. Dann sehen wir zumindest mal, was genau das Problem verursacht. Von da aus ist die Suche nach Workarounds einfacher :slight_smile:.