great77

subscript used on non accessible variable

8 posts in this topic

I have a script which was working for months. But somehow is throwing this error  

"subscript used on non accessible variable"

ReDim $aArray2D[$aArray[0]+1][2]
ReDim $aArray2D[$aArray^ ERROR

I used the Ubound but still not workinbg. How can I used uBound  on this For  $i = 1 TO Ubound ($aArray[0]) - 1 . It seems am not getting around this and why this error when it was working before.

Global $spath = "C:\Automation\Air_List\unassigned"
$Extract = "C:\Automation\Air_List\urgent"
$checkpath = StringRegExp($spath,"^.+\\$",0)
If $checkpath = 0 Then $spath = $spath & "\"
$aArray = _FileListToArray($spath, "*.RDF", 1)

Global $aArray2D[10][2]
ReDim $aArray2D[$aArray[0]+1][2]
$aArray2D[0][0] = $aArray[0]
sleep(100)
For $i = 1 TO $aArray[0]
    $aArray2D[$i][0] = $aArray[$i]
    $aArray2D[$i][1] = FileGetTime($spath & "\"  & $aArray[$i],1,1)  ;;;0=Last modified, 1=created, 2=last accessed  FileGetTime ( "filename" [, option = 0 [, format = 1 return string and 0 rerturn array]] )
Next
_ArraySort($aArray2D,1,1,"",1)
 

Share this post


Link to post
Share on other sites



great77,

Where is the error-checking to confirm that you have a valid array returned by the _FileListToArray call before trying to access it?

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

I assume that _FileListToArray returns an error and hence does not create $aArray.
So check for an error after callung _FileListToArray.

Edit: Too slow ;)

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
4 minutes ago, Melba23 said:

great77,

Where is the error-checking to confirm that you have a valid array returned by the _FileListToArray call before trying to access it?

M23

I did not do that. How will I do that ? Thanks for your time 

Share this post


Link to post
Share on other sites

Example:

$aArray = _FileListToArray($spath, "*.RDF", 1) 
If @error Then Exit MsgBox(0, "Error", "_FileListToArray returned @error = " & @error)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
6 minutes ago, water said:

Example:

$aArray = _FileListToArray($spath, "*.RDF", 1) 
If @error Then Exit MsgBox(0, "Error", "_FileListToArray returned @error = " & @error)

Thanks Water  and Melba23. Now I understand the array is not returning anything. That was why it was giving the error. 

 

Share this post


Link to post
Share on other sites
3 minutes ago, great77 said:

Thanks Water  and Melba23. Now I understand the array is not returning anything. That was why it was giving the error. 

 

 

13 minutes ago, water said:

Example:

$aArray = _FileListToArray($spath, "*.RDF", 1) 
If @error Then Exit MsgBox(0, "Error", "_FileListToArray returned @error = " & @error)

It is now working. Cheers !

Share this post


Link to post
Share on other sites

:)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

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