Jump to content

subscript used on non accessible variable


great77
 Share

Recommended Posts

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)
 

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 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

 

Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
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 

Link to comment
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 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
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 !

Link to comment
Share on other sites

:)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
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
 Share

×
×
  • Create New...