nmontec 0 Posted November 21, 2010 Hello Everyone, I've got a GUI with some checkboxes and a button that executes a procedure when it's pressed. When the procedure is completed, if i hit again the button the GUI crashes saying that an array is not initialized. The array is global and it was filled with the values I got from the GUI on the first run, and because I don't clear it I would expect to have the same content on the second one, so I'm puzzled. Do you have any idea on why this happens? How do work this around? Thanks a lot! Nicola Share this post Link to post Share on other sites
Melba23 3,456 Posted November 21, 2010 nmontec,It is the "ContinueLoop" on line 234982 that is causing the problem. If you want a more sensible answer, please post your code! M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Share this post Link to post Share on other sites
guinness 1,518 Posted November 21, 2010 (edited) I will be amazed if the problem happens to be with line 234982 Then I am convinced you're psychic! Edited November 21, 2010 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Share this post Link to post Share on other sites
nmontec 0 Posted November 21, 2010 You're right, I didn't post any code.. The array is declared Global $Sequence[5][5] Checkboxes are created with something like this for $i=0 to 4 step 1 $FilterLabel="Filter #" & $i GUICtrlCreateLabel($FilterLabel,5,$i*30+63) $Sequence[$i][0]=GUICtrlCreateCheckbox("",50,$i*30+60,20,20) Next This is the function where I get the error Func ReadExposureMatrix () for $FilterNo=0 to 4 Step 1 if (GUICtrlRead($Sequence[$FilterNo][0])==$GUI_CHECKED) Then $ExposureMatrix[$FilterNo][0]=1 Else $ExposureMatrix[$FilterNo][0]=0 EndIf $ExposureMatrix[$FilterNo][1]=GUICtrlRead ( $Sequence[$FilterNo][1] )*1000 $ExposureMatrix[$FilterNo][2]=GUICtrlRead ( $Sequence[$FilterNo][2] ) $ExposureMatrix[$FilterNo][3]=GUICtrlRead ( $Sequence[$FilterNo][3] ) $ExposureMatrix[$FilterNo][4]=GUICtrlRead ( $Sequence[$FilterNo][4] ) Next EndFunc In particular the error is pointing at this line if (GUICtrlRead($Sequence[$FilterNo][0])==$GUI_CHECKED) Then Thanks once again Share this post Link to post Share on other sites
Zedna 279 Posted November 21, 2010 More code is needed. Or better reproducing script. Resources UDF ResourcesEx UDF AutoIt Forum Search Share this post Link to post Share on other sites
whim 1 Posted November 22, 2010 Note thatif (GUICtrlRead($Sequence[$FilterNo][0])==$GUI_CHECKED) Thenis not the proper way to check control states, because they are bit flags. Try this:If BitAND(GUICtrlRead($Sequence[$FilterNo][0]), $GUI_CHECKED) = $GUI_CHECKED Then(BTW C-style '==' is only used in AutoIt for case sensitive string compares)hope that helps,whim Share this post Link to post Share on other sites