Falsche Anzeige bei TimeDifference mit Wert=0

Ich habe die Version LL23 auf LL26 aktualisiert und folgendes Problem festgestellt:

Umgebung: .Net Core 3.0 mit C#

Eine Tabelle wird mit Column vom Typ TimeSpan erzeugt.

column = new DataColumn();
column.DataType = Type.GetType("System.TimeSpan");
column.ColumnName = "Duration";
column.ReadOnly = true;
column.Unique = false;
table.Columns.Add(column);

Wert wird zugewiesen

row["Duration"] = item.Duration; // Type = TimeSpan.

Dargestellt wird der Wert in einer Tabelle. Formatiert wird der Wert mit “%02h:%02i:%02s”. Formatierung ist aber nicht entscheidend, das gleiche Problem ist auch mit “%h:%i:%s” zu beobachen.
Die Darstellung funktioniert korrekt, solange der Wert nicht TimeSpan.Zero ist. In dem Fall wird anstelle von “00:00:00” der Wert “23999999999” angezeigt. Workaround mit Date$() versucht, da gehen aber die Anzahl Stunden über 24 verloren. Eine TimeDifference$()-Funktion gibt es nicht. Gleiches Problem habe ich auch festgestellt, so ich in einem Textfeld eine Dauer=0 anzeigt wird.

Bei LL23 funktioniert dies wie gewünscht.

Werde mit wohl eine eigene Function TimeDifference$() programmieren müssen und alle Vorlagen anpassen - oder hat einer Idee was man dagegen tun kann respektive haben es auch schon andere beobachtet?

Vielen Dank für die detaillierte Fehlermeldung. Wir konnten das Problem damit reproduzieren und lösen - ich nehme an, Sie meinen die Ausgabeformatierung über die “Format”-Eigenschaft. Sie erhalten jetzt die korrekte Ausgabe:

image

Melden Sie sich gerne kostenfrei unter Bezug auf diesen Thread bei unserem Support, um ein korrigiertes Modul zu erhalten.

Danke für die sehr schnelle Unterstützung. Mit dem Patch funktioniert es nun wie gewünscht.

1 Like

© combit GmbH