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:
@@ -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!")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user