Guten Tag,
ich möchte List & Label in einem Kommandozeilen Programm verwenden und habe es bereits geschaft, mit
ll.AutoShowSelectFile = false;
ll.AutoShowPrintOptions = false;
die entsprechenden Dialoge zu unterdrücken.
Nun erscheint jedoch immer noch ein Dialog, wenn im Template oder in der Datenquelle Fehler auftreten (z.B. element was not found in database structure). Dieser Dialog lässt sich durch die Option
LlExportOption.ExportQuiet = “1”
unterdrücken. Jedoch werden Dadurch aufgetretene Fehler komplet verschluckt. Das heißt, weder im Loggfile ist ein Hinweis zu finden, dass ein Fehler aufgetreten ist, noch wird eine Exception geworfen.
Kann mir jemand weiterhelfen, wie ich Dialog-Fenster unterdrücken kann, ohne damit die Fehlerprotokollierung auszuschalten?
Herzlichzen Dank für hilfreiche Antworten
Hallo,
an dieser Stelle würde ich einmal die Klasse ExportConfiguration passend zur Export-Methode (anstelle von Print()) verwenden. Das sollte alle Dialoge unterdrücken (siehe auch Export ohne Benutzerinteraktion mit OCX / VCL und .NET - aber etwaige Fehler-Meldungen im Debwin-Log sollten dennoch immer kommen. Und Exceptions sollten auch ausgelöst werden, wenn auch ein try-catch Pattern um die LL-Methoden existiert.
Grüße
Hallo Herr Hambrecht,
bin erst jetzt dazu gekommen, das auszuprobieren. Leider ist das Verhalten mit der Export-Methode identisch zu dem der Print-Methode.
Hallo,
habe es eben mal auf die Schnelle ausprobiert… bei mir wird wunderbar eine Exception geworfen, wenn bspw. die Datenstruktur nicht mehr zum Projekt passt:
Auch bei mir im Debwin-Log wird der Fehler einwandfrei angezeigt:
Ich fürchte, dass man dann das Verhalten anhand eines einfachen Beispiels beim Support anmelden müsste, damit die mal noch genauer hinschauen. Sorry - auf die Schnelle fällt mir da leider nichts mehr ein; viel Erfolg.
Grüße
Bin leider immer noch nicht weiter gekommen. Meine Konsolenanwendung zeigt ein Popup, wenn ein Fehler aufgetreten ist.
Hallo,
eine Idee habe ich vielleicht noch:
Bitte mal noch versuchen die Option LL_OPTION_PROHIBIT_USERINTERACTION zu setzen:
…
LL.Core.LlSetOption(LlOption.ProhibitUserInteraction, 1);
…
Sonst doch mal ein Sample beim combit Support vorbeischicken?