Jump to content

_ArrayToString() - AutoIt 3.3.14.2


Recommended Posts

i have just upgraded from autoit 3.3.12.0 to 3.3.14.2 and noticed a difference in behaviour.

  • with the previous version of autoit below code was working fine.
  • with the new version it returns "-1"

repro code:

#include <Array.au3>

Local $aResult = _MyTest()
MsgBox(0, "Array Result", _ArrayToString($aResult, "; ", 1, 0))

Func _MyTest()
    Local $aTmp[1] = [0]

    _ArrayAdd($aTmp, "A")
    _ArrayAdd($aTmp, "B")
    $aTmp[0] = UBound($aTmp, $UBOUND_ROWS)

    Return $aTmp
EndFunc

it seems that for the "$iEnd_Row" parameter we now need to pass "-1" instead of previous "0".

the following snippet works fine:

MsgBox(0, "Array Result", _ArrayToString($aResult, "; ", 1, -1))

is that change on purpose?

Edited by francoiste
Link to post
Share on other sites

Yes it is on purpose, the old method wouldn't allow you to only use from 0 to 0, which would be pointless but it was a bug. There is a script breaking changes list in the help file for new versions.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to post
Share on other sites

But there is an entry for the Array UDF rewrite that points you to a list of changes that were made to that collection of functions.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to post
Share on other sites

sorry, i still don't get it.

the section that you are referring to (Array UDF rewrite) is listed for "3.3.12.0".
but i have run into this issue only after upgrading from "3.3.12.0" to "3.3.14.2".

maybe the recent change is just missing from the "documenation"?
i can neither find any hint in the "script breaking changes" section nor in the general "history / changelog" listing.
 

 

Edited by francoiste
Link to post
Share on other sites

to improve my code example:

this "$iEnd_Row" parameter is "optional" - and has an "internal default", anyways.

so to avoid running into such problems (when the internal defaults change in a future release): simply use the "Default" keyword:

; do NOT pass a default VALUE:
_ArrayToString($aResult, "; ", 1, -1))

; instead, use the "Default" KEYWORD:
_ArrayToString($aResult, "; ", 1, Default))

 

Link to post
Share on other sites

Or don't use it at all if you're not altering it, or anything after it. It is optional after all.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...