Jump to content
Sign in to follow this  
Fractured

<SOLVED>Multi-Gui Error - Windows Error????

Recommended Posts

So, im upgrading my search script, added a secound GUI with a List since the paths returned were so long and the number of returns outgrew the old window. 

Now when I run the script I get an error window that pops up. Ive been looking at forum/google but no clue...so im stumped.  Some of the functions are not incorporated yet, could that be a problem?

Anyone got ideas?!? Thanks in advance

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Search.ico
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;#INDEX# =============================================================================================================================
; Title .........: Fast Find v5.0
; AutoIt Version : 3.3.14.5
; Language ......: English
; Author(s) .....: Charles Wright, Melba23(Fixed Search Functions), caramen & BigDaddyO(UNC Path Fix)
; Modifiers .....:
; Forum link ....:
; Description ...: Searches for documents relevant to Test
; =====================================================================================================================================

#Region
#EndRegion

; #Includes# ==========================================================================================================================
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPISysWin.au3>

; #Global Variables# ===================================================================================================================
Global $RState = 0
Global $g_sFilePatha = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\"
Global $g_sFilePathb = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\ATP\"
Global $g_sFilePathc = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals\"
Global $g_sFilePathd = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals-iso images\"
Global $g_sFilePathe = "\\frd-s-fil01.ad.apitech.com\data\public\NGARNESKI\"
Global $g_sFilePathf = "\\frd-s-fil01.ad.apitech.com\data\public\SHAHARIAR\"
Global $g_sFilePathg = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DOC REL\"
Global $SlideFLag = 1
Global $List1, $g_Core, $r_Drawing, $r_ATP, $r_ISO, $r_Manual, $r_Extended, $b_Search, $Input1, $b_Select, $g_Result, $aMsg

_gCore()

Func _gCore()
    $g_Core = GUICreate("Fast Find v5.0", 240, 220, 1738, 2)
    GUISetIcon("I:\Work\Macro\AutoIT Scripts\Mine\01.ico", -1)
    GUISetBkColor(0xFFFBF0)
    $r_Drawing = GUICtrlCreateRadio("Drawing", 16, 48, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ATP = GUICtrlCreateRadio("ATP", 16, 72, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Manual = GUICtrlCreateRadio("Manual", 16, 96, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ISO = GUICtrlCreateRadio("Manual-ISO", 16, 120, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Extended = GUICtrlCreateRadio("Extended (Slow Search)", 16, 144, 201, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Input1 = GUICtrlCreateInput("", 16, 16, 185, 21)
    $b_Search = GUICtrlCreateButton("Search", 64, 176, 75, 25)

    GUISetState(@SW_SHOW)

    HotKeySet("{PAUSE}", "_Slider")
EndFunc   ;==>_gCore

While 1
    $aMsg = GUIGetMsg(1) ; Use advanced parameter to get array

    Switch $aMsg[1] ; check which GUI sent the message
        Case $g_Core
            Switch $aMsg[1] ; Now check for the messages for $hGUI1
                Case $GUI_EVENT_CLOSE ; If we get the CLOSE message from this GUI - we exit <<<<<<<<<<<<<<<
                    ExitLoop
                Case $r_Drawing
                    $RState = 1

                Case $r_ATP
                    $RState = 2

                Case $r_Manual
                    $RState = 3

                Case $r_ISO
                    $RState = 4

                Case $r_Extended
                    $RState = 5

                Case $b_Search
                    If $RState = 1 Then
                        gResult()
                        GUICtrlSetData($List1, GUICtrlRead($Input1) = "" ? "" : _FSearch1(GUICtrlRead($Input1)))
                    EndIf

                    If $RState = 2 Then
                        gResult()
                        GUICtrlSetData($List1, GUICtrlRead($Input1) = "" ? "" : _FSearch2(GUICtrlRead($Input1)))
                    EndIf

                    If $RState = 3 Then
                        gResult()
                        GUICtrlSetData($List1, GUICtrlRead($Input1) = "" ? "" : _FSearch3(GUICtrlRead($Input1)))
                    EndIf

                    If $RState = 4 Then
                        gResult()
                        GUICtrlSetData($List1, GUICtrlRead($Input1) = "" ? "" : _FSearch4(GUICtrlRead($Input1)))
                    EndIf

                    If $RState = 5 Then
                        gResult()
                        GUICtrlSetData($List1, GUICtrlRead($Input1) = "" ? "" : _Extended(GUICtrlRead($Input1)))
                    EndIf
            EndSwitch
        Case $g_Result
            Switch $aMsg[0] ; Now check for the messages for $g_hGUI2
                Case $GUI_EVENT_CLOSE ; If we get the CLOSE message from this GUI - we just delete the GUI <<<<<<<<<<<<<<<
                    GUIDelete($g_Result)

                Case $b_Select
                    Local $sResult = GUICtrlRead($List1)
                    ShellExecute($sResult)
            EndSwitch
    EndSwitch
WEnd

Func gResult()
    $g_Result = GUICreate("Fast Find Results", 1309, 674, 201, 116)
    GUISetBkColor(0xFFFBF0)
    $List1 = GUICtrlCreateList("", 16, 8, 1273, 604, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUICtrlSetData(-1, "Edit1")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $b_Select = GUICtrlCreateButton("Select", 592, 624, 75, 25)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
EndFunc   ;==>gResult

; #Error Codes Function# =================================================================================================================================
Func _ErrorCodes($iErrorCode = 0)

    Switch $iErrorCode

        Case 1
            MsgBox(4096, "File List To Array Error", "Path not found or invalid")
            Return 1
        Case 2
            MsgBox(4096, "File List To Array Error", "Invalid Include parameter")
            Return 1
        Case 3
            MsgBox(4096, "File List To Array Error", "Invalid Exclude parameter")
            Return 1
        Case 4
            MsgBox(4096, "File List To Array Error", "Invalid Exclude_Folders parameter")
            Return 1
        Case 5
            MsgBox(4096, "File List To Array Error", "Invalid $iReturn parameter")
            Return 1
        Case 6
            MsgBox(4096, "File List To Array Error", "Invalid $iRecur parameter")
            Return 1
        Case 7
            MsgBox(4096, "File List To Array Error", "Invalid $iSort parameter")
            Return 1
        Case 8
            MsgBox(4096, "File List To Array Error", "Invalid $iReturnPath parameter")
            Return 1
        Case 9
            MsgBox(4096, "File List To Array Error", "No files/folders found")
            Return 1
        Case Else
            Return 0
    EndSwitch
EndFunc   ;==>_ErrorCodes
; #End Error Codes# ====================================================================================================================================

;#File Search Function 1 DWG# ====================================================================================================================
Func _FSearch1($sSearch = "DWG")
    GUICtrlSetData($List1, "")

    Local $idSearchSL = StringLeft($sSearch, 3) ;~ Store just first 3 characters of $idSearch
    Local $sSourceFolder = $g_sFilePatha & "DWG" & $idSearchSL

    If FileExists($sSourceFolder) = 0 Then
        MsgBox(4096, "File Path Error", $sSourceFolder & " does not exist.")
        Return ""
    EndIf

    Local $sSearchMask = $sSearch & "?.*"
    Local $aFileList = _FileListToArrayRec($sSourceFolder, $sSearchMask & "*|*.cdr", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
    If _ErrorCodes(@error) Then Local $aFileList = ""

    Return _ArrayToString($aFileList, "" & @CRLF, 1)
EndFunc   ;==>_FSearch1
; #End File Search Function 1 DWG# ===================================================================================================================

; #File Search Function 2 ATP# =======================================================================================================================
Func _FSearch2($sSearch = $Input1)
    GUICtrlSetData($List1, "")

    If FileExists($g_sFilePathb) = 0 Then
        MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathb & " does not exist.")
        Return ""
    EndIf

    Local $sSearchMask = "ATP" & $sSearch & "*.*"

    Local $aFileListb = _FileListToArrayRec($g_sFilePathb, $sSearchMask & "*|*.vp", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)

    If _ErrorCodes(@error) Then Local $aFileListb = ""

    Return _ArrayToString($aFileListb, "" & @CRLF, 1)
EndFunc   ;==>_FSearch2
; #End File Search Function 2 ATP# =======================================================================================================================

; #File Search Function 3 Manuals# =======================================================================================================================
Func _FSearch3($sSearch = $Input1)
    GUICtrlSetData($List1, "")

    If FileExists($g_sFilePathc) = 0 Then
        MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathc & " does not exist.")
        Return ""
    EndIf

    Local $sSearchMask = "IM-" & $sSearch & "*.pdf"
    Local $aFileListc = _FileListToArrayRec($g_sFilePathc, $sSearchMask & "*|*.vp", 1, 1, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
    If _ErrorCodes(@error) Then Local $aFileListc = ""

    Return _ArrayToString($aFileListc, "" & @CRLF, 1)
EndFunc   ;==>_FSearch3
; #End File Search Function 3 Manuals# =================================================================================================================

; #File Search Function 4 Manuals-ISO# =================================================================================================================
Func _FSearch4($sSearch = $Input1)
    GUICtrlSetData($List1, "")

    If FileExists($g_sFilePathd) = 0 Then
        MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathd & " does not exist.")
        Return ""
    EndIf

    Local $sSearchMask = "IM" & $sSearch & "*.iso"
    Local $aFileListd = _FileListToArrayRec($g_sFilePathd, $sSearchMask & "*|*.vp", 1, 0, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
    If _ErrorCodes(@error) Then Local $aFileListd = ""

    Return _ArrayToString($aFileListd, "" & @CRLF, 1)
EndFunc   ;==>_FSearch4
; #End File Search Function 4 Manuals-ISO# ===============================================================================================================

; #File Search Function 5 Extended =======================================================================================================================
Func _Extended($sSearch = $Input1)
    GUICtrlSetData($List1, "")

    Local $sSearchMask = $sSearch & "*.*"

    Local $aFileListe = _FileListToArrayRec($g_sFilePathe, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
    If _ErrorCodes(@error) Then Local $aFileListe = ""

    Local $aFileListf = _FileListToArrayRec($g_sFilePathf, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
    If _ErrorCodes(@error) Then Local $aFileListf = ""

    Local $aFileListFull = $aFileListe

    _ArrayAdd($aFileListFull, $aFileListf)

    Return _ArrayToString($aFileListFull, "" & @CRLF, 1)
EndFunc   ;==>_Extended
; #End File Search Function 5 Extended ===============================================================================================================

Func _Slider()
    Select
        Case $SlideFLag = 0
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00040004) ;slide-in from top
            $SlideFLag = 1
        Case $SlideFLag = 1
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00050008) ;slide-out to top
            $SlideFLag = 0
    EndSelect
EndFunc   ;==>_Slider

; #FUNCTION# ==============================================================================================
; Name ..........: _OutFile
; =========================================================================================================
Func _OutFile()
    $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}" ;Declares The variable $MyDocsFolder
    $savewhere = FileSaveDialog("Save to...", $MyDocsFolder, "Rich Text Files (*rtf)", 2) ;opens a dialog where you want to save your file
    If StringInStr($savewhere, ".rtf") Then ;checks if the file extention is already there
        _FileCreate($savewhere) ;creates the file in directory selected (I'm not sure if it's necessary or not)
        $savetofile = _GUICtrlRichEdit_StreamToFile($List1, $savewhere)
    Else ;else adds file extention
        $savewhere = $savewhere & ".rtf"
        _FileCreate($savewhere) ;creates the file in directory selected (I'm not sure if it's necessary or not)
        $savetofile = _GUICtrlRichEdit_StreamToFile($List1, $savewhere)
    EndIf ;Ends the if
EndFunc   ;==>_OutFile

 

error.png

Edited by Fractured

Share this post


Link to post
Share on other sites

ok..using the wrapper debug..(um yeah, im not always quick)..I found if I comment out the "Case $b_Select" from the "Case $g_Result" it dosent get the error..but im not sure why the error happens in the first place...the Select button should not be registering as far as I know until the 2nd gui opens and its clicked....

The plot thickens for this here noob!

Share this post


Link to post
Share on other sites

Fixed the errors, but now ive got a new problem...When you do an extended search, it opens 3 instances of gResult. I can only close one of them and then I get the same error as above if I try to close or select from either of the 2 open instances......how can I tell the script which instance I want to close? select from? 

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Search.ico
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Debug_Mode=Y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;#INDEX# =============================================================================================================================
; Title .........: Fast Find v5.0
; AutoIt Version : 3.3.14.5
; Language ......: English
; Author(s) .....: Charles Wright, Melba23(Fixed Search Functions), caramen & BigDaddyO(UNC Path Fix)
; Modifiers .....:
; Forum link ....:
; Description ...: Searches for documents relevant to Test
; =====================================================================================================================================

#Region
#EndRegion

; #Includes# ==========================================================================================================================
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPISysWin.au3>

; #Global Variables# ===================================================================================================================
Global $g_sFilePatha = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\"
Global $g_sFilePathb = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\ATP\"
Global $g_sFilePathc = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals\"
Global $g_sFilePathd = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals-iso images\"
Global $g_sFilePathe = "\\frd-s-fil01.ad.apitech.com\data\public\NGARNESKI\"
Global $g_sFilePathf = "\\frd-s-fil01.ad.apitech.com\data\public\SHAHARIAR\"
Global $g_sFilePathg = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DOC REL\"
Global $RState = 0
Global $SlideFLag = 1
Global $List1, $g_Core, $r_Drawing, $r_ATP, $r_ISO, $r_Manual, $r_Extended, $b_Search, $Input1, $b_Select, $g_Result, $sResult

Opt("GUIOnEventMode", 1)

_gCore()

Func _gCore()
    $g_Core = GUICreate("Fast Find v5.0", 240, 220, 1738, 2)
    GUISetBkColor(0xFFFBF0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close")
    $r_Drawing = GUICtrlCreateRadio("Drawing", 16, 48, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ATP = GUICtrlCreateRadio("ATP", 16, 72, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Manual = GUICtrlCreateRadio("Manual", 16, 96, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ISO = GUICtrlCreateRadio("Manual-ISO", 16, 120, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Extended = GUICtrlCreateRadio("Extended (Slow Search)", 16, 144, 201, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    Global $Input1 = GUICtrlCreateInput("", 16, 16, 185, 21)
    $b_Search = GUICtrlCreateButton("Search", 64, 176, 75, 25)
    GUICtrlSetOnEvent(-1, "_Search")
    GUISetState(@SW_SHOW)

    HotKeySet("{PAUSE}", "_Slider")

    While 1
        Sleep(10)
    WEnd

EndFunc   ;==>_gCore

Func gResult($sFileListDone)
    $g_Result = GUICreate("Fast Find Results", 1309, 674, 201, 116)
    GUISetBkColor(0xFFFBF0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close")
    $List1 = GUICtrlCreateList("", 16, 8, 1273, 604, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUICtrlSetData(-1, $sFileListDone)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Local $b_Select = GUICtrlCreateButton("Select", 592, 624, 75, 25)
    GUICtrlSetOnEvent(-1, "_Select")
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUISetState()

EndFunc   ;==>gResult


Func _Search()
    Select
        Case GUICtrlRead($r_Drawing) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            Local $idSearchSL = StringLeft($GCR_Input1, 3) ;~ Store just first 3 characters of $idSearch
            Local $sSourceFolder = $g_sFilePatha & "DWG" & $idSearchSL

            If FileExists($sSourceFolder) = 0 Then
                MsgBox(4096, "File Path Error", $sSourceFolder & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = $GCR_Input1 & "?.*"
            Local $aFileList = _FileListToArrayRec($sSourceFolder, $sSearchMask & "*|*.cdr", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileList = ""
            Global $sFileListDone = _ArrayToString($aFileList, "|", 1)
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_ATP) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathb) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathb & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "ATP" & $GCR_Input1 & "*.*"
            Local $aFileListb = _FileListToArrayRec($g_sFilePathb, $sSearchMask & "*|*.vp", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)

            If _ErrorCodes(@error) Then Local $aFileListb = ""
            Global $sFileListDone = _ArrayToString($aFileListb, "|", 1)
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_Manual) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathc) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathc & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "IM-" & $GCR_Input1 & "*.pdf"
            Local $aFileListc = _FileListToArrayRec($g_sFilePathc, $sSearchMask & "*|*.vp", 1, 1, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListc = ""

            Global $sFileListDone = _ArrayToString($aFileListc, "|", 1)
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_ISO) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathd) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathd & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "IM" & $GCR_Input1 & "*.iso"
            Local $aFileListd = _FileListToArrayRec($g_sFilePathd, $sSearchMask & "*|*.vp", 1, 0, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListd = ""
            Global $sFileListDone = _ArrayToString($aFileListd, "|", 1)
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_Extended) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)

            Local $sSearchMask = "*" & $GCR_Input1 & "*.*"

            Local $aFileListe = _FileListToArrayRec($g_sFilePathe, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListe = ""
            Global $sFileListDone = _ArrayToString($aFileListe, "|", 1)
            Call(gResult, $sFileListDone)

            Local $aFileListf = _FileListToArrayRec($g_sFilePathf, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListf = ""
            Global $sFileListDone = _ArrayToString($aFileListf, "|", 1)
            Call(gResult, $sFileListDone)

            Local $aFileListg = _FileListToArrayRec($g_sFilePathg, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListg = ""
            Global $sFileListDone = _ArrayToString($aFileListg, "|", 1)
            Call(gResult, $sFileListDone)

    EndSelect
EndFunc   ;==>_Search

Func _Select()
    $sResult = GUICtrlRead($List1)
    ShellExecute($sResult)
EndFunc   ;==>_Select

Func On_Close()

    Switch @GUI_WinHandle ; See which GUI sent the CLOSE message
        Case $g_Core
            Exit ; If it was this GUI - we exit <<<<<<<<<<<<<<<
        Case $g_Result
            GUIDelete($g_Result) ; If it was this GUI - we just delete the GUI <<<<<<<<<<<<<<<
            GUICtrlSetState($g_Core, $GUI_ENABLE)
    EndSwitch
EndFunc   ;==>On_Close

; #Error Codes Function# =================================================================================================================================
Func _ErrorCodes($iErrorCode = 0)

    Switch $iErrorCode

        Case 1
            MsgBox(4096, "File List To Array Error", "Path not found or invalid")
            Return 1
        Case 2
            MsgBox(4096, "File List To Array Error", "Invalid Include parameter")
            Return 1
        Case 3
            MsgBox(4096, "File List To Array Error", "Invalid Exclude parameter")
            Return 1
        Case 4
            MsgBox(4096, "File List To Array Error", "Invalid Exclude_Folders parameter")
            Return 1
        Case 5
            MsgBox(4096, "File List To Array Error", "Invalid $iReturn parameter")
            Return 1
        Case 6
            MsgBox(4096, "File List To Array Error", "Invalid $iRecur parameter")
            Return 1
        Case 7
            MsgBox(4096, "File List To Array Error", "Invalid $iSort parameter")
            Return 1
        Case 8
            MsgBox(4096, "File List To Array Error", "Invalid $iReturnPath parameter")
            Return 1
        Case 9
            MsgBox(4096, "File List To Array Error", "No files/folders found")
            Return 1
        Case Else
            Return 0
    EndSwitch
EndFunc   ;==>_ErrorCodes
; #End Error Codes# ====================================================================================================================================

Func _Slider()
    Select
        Case $SlideFLag = 0
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00040004) ;slide-in from top
            $SlideFLag = 1
        Case $SlideFLag = 1
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00050008) ;slide-out to top
            $SlideFLag = 0
    EndSelect
EndFunc   ;==>_Slider

 

Share this post


Link to post
Share on other sites

After reading, typing, errors, and repeat I figured it out! I stopped opening multiple GUI's of $g_Result...made each extended search its own array, added them together and displayed them on 1 $g_Result window. Had to change the On-Close Function since even when all guis were closed/exited the main loop kept running. I attached the code incase anyone was interested and also if anyone can make it pretty! 

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Search.ico
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;#INDEX# =============================================================================================================================
; Title .........: Fast Find v5.0
; AutoIt Version : 3.3.14.5
; Language ......: English
; Author(s) .....: Charles Wright, Melba23(Fixed Search Functions), caramen & BigDaddyO(UNC Path Fix)
; Modifiers .....:
; Forum link ....:
; Description ...: Searches for documents relevant to Test
; =====================================================================================================================================

#Region
#EndRegion

; #Includes# ==========================================================================================================================
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPISysWin.au3>

; #Global Variables# ===================================================================================================================
Global $g_sFilePatha = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\"
Global $g_sFilePathb = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\ATP\"
Global $g_sFilePathc = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals\"
Global $g_sFilePathd = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DWG VAULT\Manuals-iso images\"
Global $g_sFilePathe = "\\frd-s-fil01.ad.apitech.com\data\public\NGARNESKI\"
Global $g_sFilePathf = "\\frd-s-fil01.ad.apitech.com\data\public\SHAHARIAR\"
Global $g_sFilePathg = "\\frd-s-fil01.ad.apitech.com\data\Drawing Vault\DOC REL\"
Global $RState = 0
Global $SlideFLag = 1
Global $List1, $g_Core, $r_Drawing, $r_ATP, $r_ISO, $r_Manual, $r_Extended, $b_Search, $Input1, $b_Select, $g_Result, $sResult, $sSearchMask, $sTitle, $sSourceFolder
Global $aFileListg
Opt("GUIOnEventMode", 1)

_gCore()

Func _gCore()
    $g_Core = GUICreate("Fast Find v5.0", 240, 220, 1738, 2)
    GUISetBkColor(0xFFFBF0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close_Main")
    $r_Drawing = GUICtrlCreateRadio("Drawing", 16, 48, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ATP = GUICtrlCreateRadio("ATP", 16, 72, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Manual = GUICtrlCreateRadio("Manual", 16, 96, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_ISO = GUICtrlCreateRadio("Manual-ISO", 16, 120, 113, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $r_Extended = GUICtrlCreateRadio("Extended (Slow Search)", 16, 144, 201, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    Global $Input1 = GUICtrlCreateInput("", 16, 16, 185, 21)
    $b_Search = GUICtrlCreateButton("Search", 64, 176, 75, 25)
    GUICtrlSetOnEvent(-1, "_Search")
    GUISetState(@SW_SHOW)

    HotKeySet("{PAUSE}", "_Slider")

    While 1
        Sleep(10)
    WEnd

EndFunc   ;==>_gCore

Func gResult($sFileListDone)
    $g_Result = GUICreate($sTitle, 1309, 674, 201, 116)
    GUISetBkColor(0xFFFBF0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "On_Close_Result")
    $List1 = GUICtrlCreateList("", 16, 8, 1273, 604, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUICtrlSetData(-1, $sFileListDone)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Local $b_Select = GUICtrlCreateButton("Select", 592, 624, 75, 25)
    GUICtrlSetOnEvent(-1, "_Select")
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUISetState()
EndFunc   ;==>gResult


Func _Search()
    Select
        Case GUICtrlRead($r_Drawing) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            Local $idSearchSL = StringLeft($GCR_Input1, 3) ;~ Store just first 3 characters of $idSearch
            Local $sSourceFolder = $g_sFilePatha & "DWG" & $idSearchSL
            If FileExists($sSourceFolder) = 0 Then
                MsgBox(4096, "File Path Error", $sSourceFolder & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = $GCR_Input1 & "?.*"
            Local $aFileList = _FileListToArrayRec($sSourceFolder, $sSearchMask & "*|*.cdr", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileList = ""
            Global $sFileListDone = _ArrayToString($aFileList, "|", 1)
            Global $sTitle = $sSourceFolder & $sSearchMask
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_ATP) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathb) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathb & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "ATP" & $GCR_Input1 & "*.*"
            Local $aFileListb = _FileListToArrayRec($g_sFilePathb, $sSearchMask & "*|*.vp", 1, 0, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)

            If _ErrorCodes(@error) Then Local $aFileListb = ""
            Global $sFileListDone = _ArrayToString($aFileListb, "|", 1)
            Global $sTitle = $g_sFilePathb & $sSearchMask
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_Manual) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathc) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathc & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "IM-" & $GCR_Input1 & "*.pdf"
            Local $aFileListc = _FileListToArrayRec($g_sFilePathc, $sSearchMask & "*|*.vp", 1, 1, 1, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListc = ""
            Global $sFileListDone = _ArrayToString($aFileListc, "|", 1)
            Global $sTitle = $g_sFilePathc & $sSearchMask
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_ISO) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            If FileExists($g_sFilePathd) = 0 Then
                MsgBox(4096, "File Path Error", "Folder : " & $g_sFilePathd & " does not exist.")
                Return ""
            EndIf

            Local $sSearchMask = "IM" & $GCR_Input1 & "*.iso"
            Local $aFileListd = _FileListToArrayRec($g_sFilePathd, $sSearchMask & "*|*.vp", 1, 0, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListd = ""
            Global $sFileListDone = _ArrayToString($aFileListd, "|", 1)
            Global $sTitle = $g_sFilePathd & $sSearchMask
            Call(gResult, $sFileListDone)

        Case GUICtrlRead($r_Extended) = "1"
            $GCR_Input1 = GUICtrlRead($Input1)
            Global $sTitle = "Extended"

            Global $sSearchMask = "*" & $GCR_Input1 & "*.*"

            Local $aFileListe = _FileListToArrayRec($g_sFilePathe, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListe = ""

            Local $aFileListf = _FileListToArrayRec($g_sFilePathf, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListf = ""

            Local $aFileListf = _FileListToArrayRec($g_sFilePathg, $sSearchMask & "*", 1, 1, 0, 2) ; _FileListToArrayRec(Path,Mask,Files Only,No Recurs,No Sort,File Name Only)
            If _ErrorCodes(@error) Then Local $aFileListf = ""

            Local $aFileListFull = $aFileListe
            _ArrayAdd($aFileListFull, $aFileListf)
            _ArrayAdd($aFileListFull, $aFileListg)

            Global $sFileListDone = _ArrayToString($aFileListFull, "|", 1)

            Call(gResult, $sFileListDone)
    EndSelect
EndFunc   ;==>_Search

Func _Select()
    $sResult = GUICtrlRead($List1)
    ShellExecute($sResult)
EndFunc   ;==>_Select

Func On_Close_Main()
    Exit
EndFunc   ;==>On_Close_Main

Func On_Close_Result()
    GUIDelete($g_Result)
    GUISetState(@SW_ENABLE, $g_Core)
EndFunc   ;==>On_Close_Result

; #Error Codes Function# =================================================================================================================================
Func _ErrorCodes($iErrorCode = 0)

    Switch $iErrorCode

        Case 1
            MsgBox(4096, "File List To Array Error", "Path not found or invalid")
            Return 1
        Case 2
            MsgBox(4096, "File List To Array Error", "Invalid Include parameter")
            Return 1
        Case 3
            MsgBox(4096, "File List To Array Error", "Invalid Exclude parameter")
            Return 1
        Case 4
            MsgBox(4096, "File List To Array Error", "Invalid Exclude_Folders parameter")
            Return 1
        Case 5
            MsgBox(4096, "File List To Array Error", "Invalid $iReturn parameter")
            Return 1
        Case 6
            MsgBox(4096, "File List To Array Error", "Invalid $iRecur parameter")
            Return 1
        Case 7
            MsgBox(4096, "File List To Array Error", "Invalid $iSort parameter")
            Return 1
        Case 8
            MsgBox(4096, "File List To Array Error", "Invalid $iReturnPath parameter")
            Return 1
        Case 9
            MsgBox(4096, "File List To Array Error", "No files/folders found")
            Return 1
        Case Else
            Return 0
    EndSwitch
EndFunc   ;==>_ErrorCodes
; #End Error Codes# ====================================================================================================================================

Func _Slider()
    Select
        Case $SlideFLag = 0
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00040004) ;slide-in from top
            $SlideFLag = 1
        Case $SlideFLag = 1
            DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $g_Core, "int", 1000, "long", 0x00050008) ;slide-out to top
            $SlideFLag = 0
    EndSelect
EndFunc   ;==>_Slider

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...