Hallo,
ich verwende List&Label 10 unter Windows Vista und Windows 7.
Die Anwendung wird mit Visual C++ 2008 32 Bit entwickelt.
Das Drucken funktioniert oft problemlos.
Aber bei jedem 5. bis 10. Druckjobstart hängt die Anwendung nach Aufruf von LlJobOpen,
was mehrere Minuten dauern kann.
Die Anwendung stürzt also nicht ab sondern wartet nur.
Mit dem Process Explorer (von Sysinternals) sieht man dass in der Funktion LlJobOpen gewartet wird. Der Process Monitor zeigt keine Aktivitäten an.
Unter Windows XP habe ich dieses Verhalten noch nicht beobachten können.
Ich vermute irgendeine Inkompatibiliät zwischen LL10 un Windows Vista/7.
Gibt es hier einen Workaround?
Oder muss ich doch auf eine höhere Version Updaten?
Erster Ansatz: mit WinDBG oder VS debuggen, wenn LL hängt, breaken und schauen, wo LL steckt. Vielleicht hilft das weiter. Ggf ein paar Mal wiederholen.
Wenn Du am Anfang Deines Prozesses einen LL-Job aufmachst, den Du dann während der Programmlaufzeit unbenutzt “links liegen” läßt (MFC: LlJobOpen() in InitInstance(), LlJobClose() in ExitInstance(), Druck/Design etc bekommen einen neuen Job wie bisher auch, d.h. dieser Job ist nur dazu da, die DLLs geladen zu halten: tritt das Problem dann immer noch auf?
Aber was heißt “warten”? Warten auf ein Synchronisationsobjekt, oder unter voller Prozessorlast? Das läßt sich damit ja gut unterscheiden in Debugger.
Wenn nichts dabei rauskommt, dann wirst Du wohl zu einer neueren Version gehen müssen, die diese Betriebssysteme auch bewußt unterstützt bzw wo Du Dich dann an den support wenden kannst.