From 966d3f404d040e59d02b03529b50beeba908f043 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Thu, 13 Aug 2026 11:20:12 +0200 Subject: [PATCH] =?UTF-8?q?Eigenschaft=20`Active`=20hinzugef=C3=BCgt=20und?= =?UTF-8?q?=20Bugfixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die `Active`-Eigenschaft wurde in `ModuleControlProperties` hinzugefügt und an eine neue Position verschoben. Änderungen in `frmFormDesigner` ermöglichen die Zuweisung von `Active` basierend auf Datenquellenwerten. In `frmMain` wurde die Methode `Reset_Current` hinzugefügt, um Dokumentzustände zurückzusetzen. Die Methode `Item_Scope` wurde erweitert, um zusätzliche Validierungen durchzuführen. Ein Bugfix in `frmValidator` sorgt dafür, dass `SelectedValues` gelöscht werden, wenn keine neuen Werte vorhanden sind, und stattdessen `DefaultValue` verwendet wird. Kritische Schritte zur Sicherung und Wiederherstellung der `DataSource` wurden hinzugefügt. Logging-Nachrichten wurden verbessert. --- app/TaskFlow/ModuleControlProperties.vb | 5 ++--- app/TaskFlow/frmFormDesigner.vb | 2 +- app/TaskFlow/frmMain.vb | 6 ++++++ app/TaskFlow/frmValidator.vb | 16 ++++++++-------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/TaskFlow/ModuleControlProperties.vb b/app/TaskFlow/ModuleControlProperties.vb index c78cbd0..f6ff797 100644 --- a/app/TaskFlow/ModuleControlProperties.vb +++ b/app/TaskFlow/ModuleControlProperties.vb @@ -33,6 +33,8 @@ Public Module ModuleControlProperties Public Property Name() As String + + Public Property Active() As Boolean Public Property Location() As Point @@ -120,9 +122,6 @@ Public Module ModuleControlProperties Private _default_value Friend _set_control_data As String - - Public Property Active() As Boolean - Public Property Required() As Boolean diff --git a/app/TaskFlow/frmFormDesigner.vb b/app/TaskFlow/frmFormDesigner.vb index 27038a2..e4306f8 100644 --- a/app/TaskFlow/frmFormDesigner.vb +++ b/app/TaskFlow/frmFormDesigner.vb @@ -589,7 +589,7 @@ Public Class frmFormDesigner obj.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT")) obj.ChangedAt = ClassAllgemeineFunktionen.NotNullDate(row.Item("CHANGED_WHEN"), Nothing) obj.ChangedWho = ClassAllgemeineFunktionen.NotNullString(row.Item("CHANGED_WHO"), "") - + obj.Active = StrToBool(row.Item("CONTROL_ACTIVE")) Dim oStyle As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), FontStyle.Regular) Dim oSize As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), 10) Dim oFamilyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), "Arial") diff --git a/app/TaskFlow/frmMain.vb b/app/TaskFlow/frmMain.vb index 90b7205..1c23fc1 100644 --- a/app/TaskFlow/frmMain.vb +++ b/app/TaskFlow/frmMain.vb @@ -2134,6 +2134,12 @@ Public Class frmMain End If End Try End Sub + Private Sub Reset_Current() + CURRENT_JUMP_DOC_GUID = 0 + CURRENT_DOC_GUID = 0 + CURRENT_DOC_ID = 0 + End Sub + Private Async Function Item_Scope(startedFrom As String) As Task ' ========== FRÜHE VALIDIERUNGEN (VOR UI-ÄNDERUNGEN) ========== If Application.OpenForms().OfType(Of frmValidator).Any Then diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb index f9efcbd..94ea7e8 100644 --- a/app/TaskFlow/frmValidator.vb +++ b/app/TaskFlow/frmValidator.vb @@ -5808,19 +5808,19 @@ Public Class frmValidator oNewValues = New List(Of String) From {oValueFromSource.ToString} End If Else - ' ========== BUGFIX START: Wenn KEIN neuer Wert, alte Werte behalten ========== - If hadPreviousSelection AndAlso previousSelectedValues IsNot Nothing AndAlso previousSelectedValues.Count > 0 Then - MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: Kein neuer Wert von Quelle → alte Werte BEHALTEN") - oNewValues = previousSelectedValues - ElseIf oDefaultValue <> String.Empty Then - MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: Keine alten Werte, verwende DefaultValue = [{oDefaultValue}]") + ' ========== BUGFIX START: Wenn KEIN neuer Wert, SelectedValues LÖSCHEN ========== + If oDefaultValue <> String.Empty Then + MyValidationLogger.Debug($"[FillIndexValues] Lookup [{oLookupMeta.Name}]: Verwende DefaultValue = [{oDefaultValue}]") oNewValues = oDefaultValue.Split(",").ToList() Else - MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: KEINE Werte (oValueFromSource=Nothing, oDefaultValue leer, keine vorherigen Werte)") + ' WICHTIG: Keine alten Werte mehr übernehmen! → oNewValues bleibt Nothing + MyValidationLogger.Debug($"[FillIndexValues] Lookup [{oLookupMeta.Name}]: Kein Index-Wert vorhanden → SelectedValues werden gelöscht") + oNewValues = Nothing End If - ' ========== BUGFIX END: Wert-Beibehaltung ========== + ' ========== BUGFIX END: Alte Werte werden NICHT mehr beibehalten ========== End If + ' ========== KRITISCH: DataSource-Backup erstellen BEVOR SelectedValues gelöscht wird ========== Dim savedDataSource = oLookup.Properties.DataSource MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: DataSource-Backup erstellt")