Neu JtlWawiExtern.dll wirft Fehlermeldungen nach erfolgreichem Auftragsimport

sgs_hp

Neues Mitglied
28. Januar 2021
1
0
Hallo zusammen,

wir benutzen nun schon seit längerem die JtlWawiExtern.dll, um unseren Abrechnungsprozess über eine interne Software etwas zu erleichtern, indem die JTL Aufträge automatisch angelegt werden.

Seit dem Update von Version 1.5.24.1 auf die Version 1.5.36.2 erhalten wir hier Fehlermeldungen.

Der Ablauf ist folgender:
  • Unsere Software läuft über WPF und der Nutzer bereitet einen Auftrag vor
  • Der Nutzer ruft nun die JtlWawiExtern auf, speziell den Aufruf "CallJtlOrderImportMethod"
  • Der Auftrag wird in JTL erfolgreich angelegt und kann dort auch eingesehen werden
  • Parallel dazu erscheint während des Debugging folgende Warnung (diese erscheint nicht im Produktivbetrieb)
jtlwawiextern_warnung.png
  • Der Nutzer schließt nun das Fenster unserer Software und versucht, den nächsten Auftrag zu beginnen (es kommt hier nicht sofort nach Auftragsanlegung eine Exception!)
  • Nun stürzt das Programm ab mit folgender Exception:
C#:
Zeilennummer "117" und Zeilenposition "6" von "Beim Festlegen der Eigenschaft "System.Windows.Controls.ContentControl.Content" wurde eine Ausnahme ausgelöst.".
System.Windows.Markup.XamlParseException: Zeilennummer "117" und Zeilenposition "6" von "Beim Festlegen der Eigenschaft "System.Windows.Controls.ContentControl.Content" wurde eine Ausnahme ausgelöst.". ---> System.TypeInitializationException: Der Typeninitialisierer für "<Module>" hat eine Ausnahme verursacht. ---> System.TypeInitializationException: Der Typeninitialisierer für "DevExpress.Xpf.Utils.Themes.WindowTracker" hat eine Ausnahme verursacht. ---> System.Xaml.XamlObjectWriterException: Beim Festlegen der Eigenschaft "DevExpress.Xpf.Utils.Themes.ResourceDictionaryEx.Source" wurde eine Ausnahme ausgelöst. ---> System.Windows.Markup.XamlParseException: Beim Festlegen der Eigenschaft "System.Windows.ResourceDictionary.DeferrableContent" wurde eine Ausnahme ausgelöst. ---> System.NotImplementedException: Die Methode oder der Vorgang ist nicht implementiert.
   bei System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlType(BamlType bamlType, Int16 typeId)
   bei System.Windows.Baml2006.Baml2006SchemaContext.GetXamlType(Int16 typeId)
   bei System.Windows.Baml2006.Baml2006SchemaContext.GetProperty(Int16 propertyId, XamlType parentType)
   bei System.Windows.Baml2006.Baml2006Reader.Process_PropertyWithConverter()
   bei System.Windows.Baml2006.Baml2006Reader.Process_OneBamlRecord()
   bei System.Windows.Baml2006.Baml2006Reader.ReadKeys()
   bei System.Windows.ResourceDictionary.SetDeferrableContent(DeferrableContent deferrableContent)
   bei System.Windows.Baml2006.WpfSharedBamlSchemaContext.<>c.<Create_BamlProperty_ResourceDictionary_DeferrableContent>b__297_0(Object target, Object value)
   bei System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
   bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
   bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   bei System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   bei System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   bei System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
   bei MS.Internal.AppModel.AppModelKnownContentFactory.BamlConverter(Stream stream, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter)
   bei MS.Internal.AppModel.MimeObjectFactory.GetObjectAndCloseStream(Stream s, ContentType contentType, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter)
   bei System.Windows.ResourceDictionary.set_Source(Uri value)
   bei DevExpress.Xpf.Utils.Themes.ResourceDictionaryEx.set_Source(Uri value)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   bei MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.SetValue(Object obj, XamlMember property, Object value)
   bei System.Xaml.XamlObjectWriter.Logic_ApplyPropertyValue(ObjectWriterContext ctx, XamlMember prop, Object value, Boolean onParent)
   bei System.Xaml.XamlObjectWriter.Logic_DoAssignmentToParentProperty(ObjectWriterContext ctx)
   bei System.Xaml.XamlObjectWriter.Logic_AssignProvidedValue(ObjectWriterContext ctx)
   bei System.Xaml.XamlObjectWriter.WriteEndMember()
   bei System.Xaml.XamlWriter.WriteNode(XamlReader reader)
   bei System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
   bei System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter)
   bei System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled, Uri& dictionarySourceUri)
   bei System.Windows.SystemResources.ResourceDictionaries.LoadGenericDictionary(Boolean isTraceEnabled)
   bei System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   bei System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   bei System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   bei System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   bei System.Windows.FrameworkElement.OnThemeStyleKeyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   bei System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   bei System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   bei DevExpress.Xpf.Core.DefaultStyleKeyFrameworkElementHelper.SetDefaultStyleKey(FrameworkElement element, Object value)
   bei DevExpress.Xpf.Core.DefaultStyleKeyHelper.SetDefaultStyleKey(FrameworkElement element, Object value)
   bei DevExpress.Xpf.Core.ThemedElementsDictionary.ForceThemeKeysLoadingForAssembly(String themeName, String assemblyName)
   bei DevExpress.Xpf.Core.ThemedElementsDictionary.<>c__DisplayClass7.<ForceThemeKeysLoading>b__0(String x)
   bei System.Collections.Generic.List`1.ForEach(Action`1 action)
   bei DevExpress.Xpf.Core.ThemedElementsDictionary.ForceThemeKeysLoading(String themeName)
   bei DevExpress.Xpf.Core.ThemeManager.ForceThemeKeyCreating(String themeName)
   bei DevExpress.Xpf.Core.ThemeManager.ChangeTheme(DependencyObject obj, String themeName, Boolean isTouch, Boolean isTouchLineTheme, String oldThemeName)
   bei DevExpress.Xpf.Core.ThemeManager.ThemeNamePropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   bei System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   bei System.Windows.DependencyObject.SetCurrentValue(DependencyProperty dp, Object value)
   bei DevExpress.Xpf.Core.ThemeManager.DevExpress.Xpf.Utils.Themes.IThemeManager.SetThemeName(DependencyObject d, String value)
   bei DevExpress.Xpf.Utils.Themes.GlobalThemeHelper.SetGlobalTheme(FrameworkElement window)
   bei DevExpress.Xpf.Utils.Themes.GlobalThemeHelper.AssignApplicationThemeName(FrameworkElement window)
   bei DevExpress.Xpf.Utils.Themes.WindowTracker.DoWork(Object sender)
   bei DevExpress.Xpf.Utils.Themes.WindowTracker..cctor()
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei DevExpress.Xpf.Utils.Themes.WindowTracker.Initialize()
   bei DevExpress.Xpf.Utils.Themes.GlobalThemeHelper.InitializeWindowTracker()
   bei DevExpress.Xpf.Utils.Themes.GlobalThemeHelper.SetApplicationThemeName(String value)
   bei DevExpress.Xpf.Utils.Themes.GlobalThemeHelper.set_ApplicationThemeName(String value)
   bei DevExpress.Xpf.Core.ThemeManager.Initialize()
   bei DevExpress.Xpf.Utils.ModuleInitializer.Initialize()
   bei .cctor()
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei DevExpress.Xpf.Utils.Themes.WindowTracker.<.cctor>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e)
   bei System.Windows.PropertyChangedCallback.Invoke(DependencyObject d, DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   bei System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   bei System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
   bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
   bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)

Die Exception erscheint erst, nachdem das aktuelle WPF-Fenster geschlossen und versucht wird, ein neues WPF-Fenster zu öffnen. Solange der Nutzer in dem gleichen Fenster bleibt, in dem er den JTL-Aufruf gestartet hat, kommt es zu keinen Fehlern.

Es scheint irgendetwas in den DevExpress-DLLs kaputt zu gehen. Unsere Software nutzt kein DevExpress und funktioniert ohne Probleme, solange wir nicht den JTL-Aufruf starten. Wir sind uns daher sicher, dass die Fehlermeldung von dem JTL Import stammt.

Wir haben ein Update auf die 1.5.38.0 gemacht, jedoch taucht der Fehler nach wie vor auf. Wir können nun nur sehr beschränkt mit der JTLWawiExtern arbeiten, da wir nach jedem Auftragsimport unser Programm komplett neu starten müssen.

Ist dieses Problem eventuell bereits bekannt und es gibt eine Lösung bzw. es ist eine Lösung in den nächsten Versionen zu erwarten?
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
Wollt ihr in eurem Programm über L&L etwas drucken? Eventuell kommt der Fehler dadurch und ihr müsst eine L&L-Entwicklerversion einsetzen.