MS_18042016
This commit is contained in:
@@ -9,6 +9,7 @@ Imports DevExpress.XtraScheduler
|
||||
Imports System.Text
|
||||
Imports System.IO
|
||||
Imports DevExpress.XtraGrid
|
||||
Imports WINDREAMLib
|
||||
|
||||
Public Class frmConstructor_Main
|
||||
|
||||
@@ -69,6 +70,8 @@ Public Class frmConstructor_Main
|
||||
Private RIGHT_VIEW_DOC As Boolean = True
|
||||
Private RIGHT_DELETE_DOC As Boolean = False
|
||||
|
||||
Private RIGHT_ONLY_READ As Boolean = False
|
||||
|
||||
Private windream_Docshow As Boolean = False
|
||||
Private WD_Suche As String
|
||||
Private DocView
|
||||
@@ -81,6 +84,7 @@ Public Class frmConstructor_Main
|
||||
|
||||
Private LinkParentID As Integer
|
||||
|
||||
Private CONTROL_DOCTYPE_MATCH As Integer = 0
|
||||
|
||||
Private FOLLOW_UPisActive As Boolean = False
|
||||
Private DT_FU_Record As DataTable
|
||||
@@ -94,6 +98,7 @@ Public Class frmConstructor_Main
|
||||
Private IS_SINGLE_RECORD As Boolean = False
|
||||
Private RECORD_ID As Integer
|
||||
Private PARENT_ID As Integer
|
||||
Private SQL_RIGHT_READ_AND_VIEW_ONLY As String = ""
|
||||
|
||||
Private FORM_TYPE As Integer
|
||||
Private ENTITY_ID As Integer
|
||||
@@ -116,6 +121,10 @@ Public Class frmConstructor_Main
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
Private Sub frmConstructor_Main_DragDrop(sender As Object, e As DragEventArgs) Handles Me.DragDrop
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmForm_Constructor_Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
_FormClosing = True
|
||||
' Check_Record_Changed()
|
||||
@@ -141,7 +150,7 @@ Public Class frmConstructor_Main
|
||||
MsgBox("Error while Loading Form part 1" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
' Bestimme Dinge ausblenden wenn kein admin
|
||||
If USER_IS_ADMIN = True Then
|
||||
@@ -676,6 +685,57 @@ Public Class frmConstructor_Main
|
||||
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True
|
||||
Show_Selected_Record_Data(Grid_RecordID, False)
|
||||
|
||||
RIGHT_ONLY_READ = False
|
||||
RecordKopierenToolStripMenuItem.Enabled = True
|
||||
tslblLocked.Visible = False
|
||||
TabFollowUp.PageEnabled = True
|
||||
Dim tempsql
|
||||
If SQL_RIGHT_READ_AND_VIEW_ONLY <> "" Then
|
||||
Try
|
||||
tempsql = SQL_RIGHT_READ_AND_VIEW_ONLY
|
||||
tempsql = tempsql.Replace("@RECORDID", RECORD_ID)
|
||||
tempsql = tempsql.Replace("@RECORD_ID", RECORD_ID)
|
||||
tempsql = tempsql.Replace("@USER_ID", USER_GUID)
|
||||
tempsql = tempsql.Replace("@USER_GUID", USER_GUID)
|
||||
|
||||
''Regulären Ausdruck zum Auslesen der windream-Indexe definieren
|
||||
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
|
||||
'' einen Regulären Ausdruck laden
|
||||
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
|
||||
'' die Vorkommen im SQL-String auslesen
|
||||
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(tempsql)
|
||||
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
|
||||
''#####
|
||||
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
|
||||
'For Each element As System.Text.RegularExpressions.Match In elemente
|
||||
' Dim elementohneSZ = element.Value.Replace("[%", "")
|
||||
' elementohneSZ = elementohneSZ.Replace("]", "")
|
||||
' ' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
|
||||
' tempsql = tempsql.Replace(element.Value, controlvalue.ToString)
|
||||
'Next
|
||||
|
||||
Try
|
||||
RIGHT_ONLY_READ = CBool(ClassDatabase.Execute_Scalar(tempsql))
|
||||
Catch ex As Exception
|
||||
RIGHT_ONLY_READ = False
|
||||
End Try
|
||||
If RIGHT_ONLY_READ = True Then
|
||||
tsButtonAdd.Enabled = False
|
||||
tsButtonEdit.Enabled = False
|
||||
tsButtonSave.Enabled = False
|
||||
tsButtonDelete.Enabled = False
|
||||
tslblLocked.Visible = True
|
||||
RecordKopierenToolStripMenuItem.Enabled = False
|
||||
TabFollowUp.PageEnabled = False
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("unexpected Error in Check Read-Limitations:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
ClassLogger.Add("Unexpected Error in Check Read-Limitations: " & ex.Message)
|
||||
ClassLogger.Add("TempSQL so far: " & tempsql)
|
||||
End Try
|
||||
End If
|
||||
|
||||
If TabPos.PageVisible = True And TCDetails.SelectedTabPage.Text.StartsWith("Posi") Then
|
||||
Clear_GridPos_View()
|
||||
Dim POS_GRID_RECORD = Get_Focused_Row_Cell_Value_pos("Record-ID")
|
||||
@@ -693,7 +753,9 @@ Public Class frmConstructor_Main
|
||||
End If
|
||||
|
||||
If RECORD_ID > 0 Then
|
||||
tsButtonEdit.Enabled = True
|
||||
If RIGHT_ONLY_READ = False Then
|
||||
tsButtonEdit.Enabled = True
|
||||
End If
|
||||
Get_RecordCounts_Nodes()
|
||||
End If
|
||||
End If
|
||||
@@ -1257,18 +1319,36 @@ Public Class frmConstructor_Main
|
||||
If result = MsgBoxResult.Yes Then
|
||||
Dim del = "EXEC [dbo].[PRPMO_DELETE_RECORD] " & SELECTED_RECORD_ID
|
||||
If ClassDatabase.Execute_non_Query(del, True) = True Then
|
||||
RECORD_CHANGED = False
|
||||
EDIT_STATE = EditState.None
|
||||
CURRENT_RECORD_ENABLED = False
|
||||
' Update_Record_Label(SELECTED_RECORD_ID)
|
||||
msg = "Der Datensatz '" & SELECTED_RECORD_ID & "' wurde erfolgreich gelöscht - " & Now
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
msg = "The record and all dependencies for '" & SELECTED_RECORD_ID & "' were deleted - " & Now
|
||||
End If
|
||||
Update_Status_Label(True, msg, EditState.Update)
|
||||
Update_Record_Label(SELECTED_RECORD_ID)
|
||||
|
||||
msg = "Wollen Sie die zugehörigen windream-Dateien ebenfalls löschen?"
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
msg = "Do You want to delete the related windream-documents?"
|
||||
End If
|
||||
Dim result1 As MsgBoxResult
|
||||
result1 = MessageBox.Show(msg, "Confirmation:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||
If result = MsgBoxResult.Yes Then
|
||||
WD_DELETE_DOCS()
|
||||
End If
|
||||
SELECTED_RECORD_ID = 0
|
||||
RECORD_ID = 0
|
||||
CURRENT_RECORD_ID = 0
|
||||
RECORD_CHANGED = False
|
||||
Load_Tree_View_Data()
|
||||
' Nach dem löschen muss die aktuelle Ansicht neugeladen werden
|
||||
Load_Entity_Data(ACT_EBENE)
|
||||
|
||||
DisableEditMode()
|
||||
RECORD_CHANGED = False
|
||||
EDIT_STATE = EditState.None
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -1414,7 +1494,7 @@ Public Class frmConstructor_Main
|
||||
RIGHT_DELETE_DOC = True
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
End If
|
||||
tsButtonSave.Visible = True
|
||||
tsButtonAdd.Visible = True
|
||||
@@ -1454,6 +1534,8 @@ Public Class frmConstructor_Main
|
||||
LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
|
||||
CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
||||
If VIEW_ID_RUNTIME <> -1 Then
|
||||
GRID_TYPE_ID = VIEW_ID_RUNTIME
|
||||
Else
|
||||
@@ -2626,7 +2708,7 @@ Public Class frmConstructor_Main
|
||||
Dim sw As New Stopwatch
|
||||
sw.Start()
|
||||
Dim elapsed As Double
|
||||
|
||||
|
||||
If ClassWindream.Init() = True Then
|
||||
windream_inited = True
|
||||
End If
|
||||
@@ -2956,6 +3038,173 @@ Public Class frmConstructor_Main
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run WD Search took " & Format(elapsed, "0.000000000") & " seconds", False)
|
||||
Cursor = Cursors.Default
|
||||
End Sub
|
||||
Private Sub WD_DELETE_DOCS()
|
||||
Dim sw As New Stopwatch
|
||||
sw.Start()
|
||||
Dim elapsed As Double
|
||||
Dim Basesearch As String
|
||||
Try
|
||||
Dim windream_temp_search
|
||||
If Not windream_Docshow = True Or Sett_LoadWD_Docs = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
Cursor = Cursors.WaitCursor
|
||||
Dim DTWD As DataTable
|
||||
Dim sql = "SELECT WINDREAM_SEARCH,SEARCH_PATTERN1,SEARCH_PATTERN2,SEARCH_PATTERN3,SEARCH_PATTERN4,SEARCH_PATTERN5 FROM TBPMO_FORM_VIEW WHERE WINDREAM_SEARCH <> '' AND FORM_ID = " & ENTITY_ID
|
||||
DTWD = ClassDatabase.Return_Datatable(sql)
|
||||
If DTWD.Rows.Count = 1 Then
|
||||
If IsDBNull(DTWD.Rows(0).Item(0)) Then
|
||||
Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End If
|
||||
Else
|
||||
Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End If
|
||||
'Die SearchPatterns durchlaufen und zwischenspeichern
|
||||
If IsDBNull(DTWD.Rows(0).Item(0)) Then
|
||||
Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End If
|
||||
Basesearch = DTWD.Rows(0).Item(0)
|
||||
SP1 = DTWD.Rows(0).Item(1)
|
||||
If IsDBNull(DTWD.Rows(0).Item(2)) Then
|
||||
SP2 = ""
|
||||
Else
|
||||
SP2 = DTWD.Rows(0).Item(2)
|
||||
End If
|
||||
If IsDBNull(DTWD.Rows(0).Item(3)) Then
|
||||
SP3 = ""
|
||||
Else
|
||||
SP3 = DTWD.Rows(0).Item(3)
|
||||
End If
|
||||
If IsDBNull(DTWD.Rows(0).Item(4)) Then
|
||||
SP4 = ""
|
||||
Else
|
||||
SP4 = DTWD.Rows(0).Item(4)
|
||||
End If
|
||||
If IsDBNull(DTWD.Rows(0).Item(5)) Then
|
||||
SP5 = ""
|
||||
Else
|
||||
SP5 = DTWD.Rows(0).Item(5)
|
||||
End If
|
||||
|
||||
'Eine tempfile generieren
|
||||
Dim tempFilename1 = My.Computer.FileSystem.GetTempFileName()
|
||||
'Nur den Filenamen ohne Erweiterung
|
||||
Dim tempName = Path.GetFileNameWithoutExtension(tempFilename1)
|
||||
'tempfile lsöchen
|
||||
If My.Computer.FileSystem.FileExists(tempFilename1) Then
|
||||
My.Computer.FileSystem.DeleteFile(tempFilename1)
|
||||
End If
|
||||
|
||||
Dim temppath = Path.GetTempPath
|
||||
|
||||
Dim EncodingFormat As Encoding
|
||||
Dim WDUnicode = ClassDatabase.Execute_Scalar("SELECT WD_UNICODE FROM TBPMO_KONFIGURATION WHERE GUID = 1")
|
||||
If WDUnicode = True Then
|
||||
EncodingFormat = Encoding.GetEncoding(1252) '1252
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Unicode is used (Encoding.GetEncoding(1252))", False)
|
||||
Else
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> UTF8 (Encoding.GetEncoding(65001))", False)
|
||||
EncodingFormat = Encoding.GetEncoding(65001)
|
||||
End If
|
||||
Dim fileContents As String
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> ReadAlltext: " & windream_temp_search, False)
|
||||
fileContents = My.Computer.FileSystem.ReadAllText(BaseSearch, EncodingFormat) ', System.Text.Encoding.Unicode
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> fileContents geladen", False)
|
||||
fileContents = fileContents.Replace("Í", "Ö")
|
||||
Dim _sp1 = SP1
|
||||
Dim _sp2 = SP2
|
||||
Dim _sp3 = SP3
|
||||
Dim _sp4 = SP4
|
||||
Dim _sp5 = SP5
|
||||
|
||||
If _sp1.ToString <> String.Empty Then
|
||||
_sp1 = Return_SearchPattern(_sp1.ToString)
|
||||
fileContents = fileContents.Replace("%pattern1%", _sp1)
|
||||
fileContents = fileContents.Replace("471101", _sp1)
|
||||
End If
|
||||
If _sp2.ToString <> String.Empty Then
|
||||
_sp2 = Return_SearchPattern(_sp2.ToString)
|
||||
If _sp2 = 0 Then
|
||||
_sp2 = ""
|
||||
End If
|
||||
fileContents = fileContents.Replace("%pattern2%", _sp2)
|
||||
fileContents = fileContents.Replace("471102", _sp2)
|
||||
End If
|
||||
If _sp3.ToString <> String.Empty Then
|
||||
_sp3 = Return_SearchPattern(_sp3.ToString)
|
||||
If _sp3 = 0 Then
|
||||
_sp3 = ""
|
||||
End If
|
||||
fileContents = fileContents.Replace("%pattern3%", _sp3)
|
||||
fileContents = fileContents.Replace("471103", _sp3)
|
||||
End If
|
||||
If _sp4.ToString <> String.Empty Then
|
||||
_sp4 = Return_SearchPattern(_sp4.ToString)
|
||||
If _sp4 = 0 Then
|
||||
_sp4 = ""
|
||||
End If
|
||||
fileContents = fileContents.Replace("%pattern4%", _sp4)
|
||||
fileContents = fileContents.Replace("471104", _sp4)
|
||||
End If
|
||||
If _sp5.ToString <> String.Empty Then
|
||||
_sp5 = Return_SearchPattern(_sp5.ToString)
|
||||
If _sp5 = 0 Then
|
||||
_sp5 = ""
|
||||
End If
|
||||
fileContents = fileContents.Replace("%pattern5%", _sp5)
|
||||
fileContents = fileContents.Replace("471105", _sp5)
|
||||
End If
|
||||
'Die windream File zusammensetzen
|
||||
windream_temp_search = temppath & tempName & ".wdf"
|
||||
TEMP_FILES.Add(windream_temp_search)
|
||||
'Die File schreiben
|
||||
My.Computer.FileSystem.WriteAllText(windream_temp_search, fileContents, False, EncodingFormat)
|
||||
My.Computer.FileSystem.WriteAllText(temppath & "SEARCH_COPY.wdf", fileContents, False, EncodingFormat)
|
||||
' XML-Datei öffnen und laden
|
||||
Dim Stream As New IO.StreamReader(CStr(windream_temp_search), EncodingFormat)
|
||||
Dim Reader As New System.Xml.XmlTextReader(Stream)
|
||||
' XML-Datei initialisieren
|
||||
Dim xml As New System.Xml.XmlDocument()
|
||||
' XML-Datei öffnen und laden
|
||||
xml.Load(Reader)
|
||||
Reader.Close()
|
||||
xml.Save(windream_temp_search)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Xml Generiert: " & windream_temp_search, False)
|
||||
Dim windreamSucheErgebnisse As WINDREAMLib.WMObjects
|
||||
Try
|
||||
windreamSucheErgebnisse = ClassWindream.GetSearchDocuments(windream_temp_search)
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in windreamSucheErgebnisse:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
elapsed = sw.Elapsed.TotalSeconds
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> GetSearchDocuments took " & Format(elapsed, "0.000000000") & " seconds", False)
|
||||
If windreamSucheErgebnisse.Count > 0 Then
|
||||
|
||||
For Each dok As WMObject In windreamSucheErgebnisse
|
||||
Dim filename = "W:" & dok.aPath
|
||||
Try
|
||||
File.Delete(filename)
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in Delete windream-file '" & filename & "- Error: " & ex.Message)
|
||||
End Try
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Cursor = Cursors.Default
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in WD-Delete Docs:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
ClassLogger.Add("Unexpected Error in Run WD Delete Docs: " & ex.Message)
|
||||
End Try
|
||||
elapsed = sw.Elapsed.TotalSeconds
|
||||
sw.Stop()
|
||||
sw.Reset()
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Run WD Delete Docs took " & Format(elapsed, "0.000000000") & " seconds", False)
|
||||
Cursor = Cursors.Default
|
||||
End Sub
|
||||
Private Function Return_SearchPattern(ByVal content As String)
|
||||
Select Case content.ToUpper
|
||||
Case "@Record-ID".ToUpper
|
||||
@@ -3158,20 +3407,32 @@ Public Class frmConstructor_Main
|
||||
End If
|
||||
End Sub
|
||||
Sub Drag_Drop(e As DragEventArgs)
|
||||
If act_FormViewID <> 0 Then
|
||||
If act_FormViewID <> 0 And RIGHT_ONLY_READ = False Then
|
||||
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
|
||||
If ClassDatabase.Execute_Scalar(sql, True) = 0 Then
|
||||
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
End If
|
||||
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
|
||||
If RECORD_CHANGED = True Then
|
||||
If Save_Record() = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
If RECORD_CHANGED = True Then
|
||||
If Save_Record() = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
If CONTROL_DOCTYPE_MATCH <> 0 Then
|
||||
Try
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ClassControlValues.GetControlValuesREC_CONTROL(RECORD_ID, CONTROL_DOCTYPE_MATCH)
|
||||
Catch ex As Exception
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
|
||||
Dim Wert As String = CType(e.Data.GetData(DataFormats.StringFormat), Object)
|
||||
Console.WriteLine(Wert)
|
||||
Console.WriteLine("DragDrop-Wert: " & Wert)
|
||||
If Wert.Contains("SCAN") Then
|
||||
Dim split() = Wert.Split(";")
|
||||
If IsNumeric(split(1)) Then
|
||||
@@ -3183,6 +3444,16 @@ Public Class frmConstructor_Main
|
||||
|
||||
RUN_WD_SEARCH(WD_Suche, "RECORD")
|
||||
End If
|
||||
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
|
||||
CURRENT_RECORD_ID = RECORD_ID
|
||||
If ClassDragDrop.Drop_File(e) = True Then
|
||||
Check_Dropped_Files()
|
||||
End If
|
||||
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
|
||||
CURRENT_RECORD_ID = RECORD_ID
|
||||
If ClassDragDrop.Drop_File(e) = True Then
|
||||
Check_Dropped_Files()
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
CURRENT_RECORD_ID = RECORD_ID
|
||||
@@ -3191,6 +3462,11 @@ Public Class frmConstructor_Main
|
||||
End If
|
||||
|
||||
End If
|
||||
Else
|
||||
If RIGHT_ONLY_READ = True Then
|
||||
ClassLogger.Add(">> RIGHT_ONLY_READ is set! No DragDrop allowed", False)
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
Sub Check_Dropped_Files()
|
||||
|
||||
Reference in New Issue
Block a user