Verbesserung: Caching und Thread-Sicherheit hinzugefügt

Neue private Felder `_separateGridDataCache` und
`_separateGridControlCache` für das Caching von Daten und
Steuerelementen eingeführt, um die Performance zu verbessern.

Die neuen Caches werden beim Laden eines neuen Dokuments
explizit geleert, um Konsistenz sicherzustellen.

Ein zusätzlicher Aufruf von `Check_UpdateIndexe(False)` wurde
hinzugefügt, um erweiterte Funktionalität zu ermöglichen.

Allgemeine Verbesserungen der Thread-Sicherheit durch die
Verwendung von Locks (`_overlayLock`) implementiert.
This commit is contained in:
Developer01
2026-08-10 16:16:14 +02:00
parent 32fe339d84
commit 4609ea8ad7

View File

@@ -143,6 +143,10 @@ Public Class frmValidator
Private _documentPathHandler As DocumentPathHandler Private _documentPathHandler As DocumentPathHandler
Private _isLoadingAdditionalSearches As Boolean = False Private _isLoadingAdditionalSearches As Boolean = False
Private _separateGridDataCache As New Dictionary(Of String, DataTable)
' Bei den anderen Private-Deklarationen:
Private _separateGridControlCache As New Dictionary(Of String, GridControl)
Private Class Translation_Strings Private Class Translation_Strings
Inherits My.Resources.frmValidator_Strings Inherits My.Resources.frmValidator_Strings
@@ -4062,6 +4066,8 @@ Public Class frmValidator
_CachedSqlDataCache.Clear() _CachedSqlDataCache.Clear()
_CachedSqlScalarCache.Clear() _CachedSqlScalarCache.Clear()
_separateGridDataCache.Clear()
_separateGridControlCache.Clear()
_CachedSqlControlsByGuid = Nothing _CachedSqlControlsByGuid = Nothing
CURRENT_WMFILE = Nothing CURRENT_WMFILE = Nothing
activate_controls(False) activate_controls(False)
@@ -8594,7 +8600,7 @@ Public Class frmValidator
ShowOverlaySafe() ' ✅ Overlay hier öffnen ShowOverlaySafe() ' ✅ Overlay hier öffnen
Try Try
' ========== FIX 2: Nur EINEN Check-Aufruf ========== ' ========== FIX 2: Nur EINEN Check-Aufruf ==========
If Check_UpdateIndexe() = True Then If Check_UpdateIndexe(False) = True Then
SetStatusLabel("Data saved", "LimeGreen") SetStatusLabel("Data saved", "LimeGreen")
MyValidationLogger.Info("Workflowdata saved manually!") MyValidationLogger.Info("Workflowdata saved manually!")