Jump to content

Recommended Posts

  • Administrators
Posted

File Name: AutoIt v3.3.13.9 Beta

File Submitter: Jon

File Submitted: 25 Jul 2014

File Category: Beta



3.3.13.9 (25th, 2014) (Beta)
AutoIt:
- Added: MapAppend() returns the index of the element added.

- Fixed: Regression with Call() and CallArgArray.
- Fixed: Regression with speed of arrays.
- Fixed: Was silently failing when passing unsupported parameters ByRef - now shows an error message.
- Fixed: Map/Object properties starting with ".E3" were incorrectly classed as a number rather than property.



Click here to download this file

  • Moderators
Posted

Jon,

Arrays now seem slightly faster then before - good job. :thumbsup:

MapAppend returns the integer, but as 0 is a valid return, could you arrange for -1 in case of an error? I know you set the @error flag but returning something valid as well could lead to confusion. ;)

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:

  Reveal hidden contents

 

  • Administrators
Posted

  On 7/25/2014 at 4:19 PM, Melba23 said:

Jon,

Arrays now seem slightly faster then before - good job. :thumbsup:

MapAppend returns the integer, but as 0 is a valid return, could you arrange for -1 in case of an error? I know you set the @error flag but returning something valid as well could lead to confusion. ;)

M23

-1 is valid is well. as is -2000.  It uses the next largest integer that has currently been used.  Or starts at 0 if no integer keys have been used so far.

  • Moderators
Posted

Jon,

Understood.

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:

  Reveal hidden contents

 

Posted (edited)

My script sometime crashed randomly with 3.3.13.8 and I didn't know what is the reason, it's fixed now in this beta.

I don't know if that was a known bug in previous beta or not, it's gone now.

Edited by FaridAgl
  • Moderators
Posted (edited)

  Quote

My script sometime crashed randomly with 3.3.13.8 and I didn't know what is the reason, it's fixed now in this beta.

I don't know if that was a known bug in previous beta or not, it's gone now.

 

FaridAgl, could you be any less helpful? Posting your script would be a start...

Edited by JLogan3o13

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Posted

Thanks for your kind words, the script I talked about is a commercial application which works by connecting to a server (My server), I'm selling it over here.

I'm sorry about not posting it in the public, and the worst part is that I don't know which part of that was causing the crash, all I know is that the crashes are gone in the current beta.

  • Moderators
Posted

That is my point exactly, why even bring it up if you cannot share the script? What benefit have you brought, other than to make everyone scratch their heads?

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Posted (edited)

  On 7/25/2014 at 9:16 PM, Jon said:

The only hard crash bug I fixed was for "Call". So unless your script has that in it then I have no idea.

I guess that's the case.

I'm using AutoItObject, so there is lots of Call() playing around (Executing methods).

Edited by FaridAgl
Posted

UBound fails to detect dimensions of an empty array:

#include <Array.au3>
Global $myArr[0]
ConsoleWrite(IsArray($myArr) & "  " & UBound($myArr, 0) & "  " & UBound($myArr, 1) & @LF)

; produces
1  1  0 with the release and previous betas

1  0  0 with 3.3.13.9
  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

  • Moderators
Posted

Jon,

UBound is failing if any dimension is set to [0] - try playing with this:

#include <Array.au3>

Global $myArr[0][1][1]
ConsoleWrite(IsArray($myArr) & " " & UBound($myArr, 0) & " " & UBound($myArr, 3) & @LF)
I get:

1 0 0 - 3.3.13.9

1 3 1 - with earlier versions
And similar results when the other dimensions are set to [0]. :(

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:

  Reveal hidden contents

 

  • Administrators
Posted

  On 7/26/2014 at 12:25 AM, jchd said:

UBound fails to detect dimensions of an empty array:

#include <Array.au3>
Global $myArr[0]
ConsoleWrite(IsArray($myArr) & "  " & UBound($myArr, 0) & "  " & UBound($myArr, 1) & @LF)

; produces
1  1  0 with the release and previous betas

1  0  0 with 3.3.13.9
That was intentional. It didn't make sense to me that dim[0] and dim[1] gave the same ubound result of 1. Isn't 0 the expected result?
  • Moderators
Posted (edited)

Jon,

Not in my opinion. The array has a dimension - it is just that at present there are no elements in it. The code I posted (with multiple dimensions but only a single [0]) also returns 0 - which is self-evidently false as the others certainly contain something. I believe the previous behaviour was correct. :)

M23

Edited by Melba23

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:

  Reveal hidden contents

 

Posted

Jon,

That breaks down empty array semantics.

  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

  • Administrators
Posted

Actually I think we are talking about different things, you are talking about the number of subscripts and I was talking about the size of a single subscript. So yeah that broke with the rewrite, I think it should be:

$dim $var[0]

Ubound($var) = 0

UBound($var, 0) = 1

Yeah?

  • Moderators
Posted

Jon,

That is what I would expect to be returned. :)

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:

  Reveal hidden contents

 

Posted
  On 7/26/2014 at 9:16 AM, Melba23 said:

The array has a dimension - it is just that at present there are no elements in it. The code I posted (with multiple dimensions but only a single [0]) also returns 0 - which is self-evidently false as the others certainly contain something.

 

I assume that something to be zero inaccessible imaginary place holders, which is probably something nontheless. I have never needed to use an array of size zero. :thumbsup:

Posted

This will restore the previous possibility for UDFs being passed an array of unknown dimension(s) to determine how to proceed.

$aArr[0][3][5] is an array (actually a tensor!) with 3 dimensions, 0 rows of 3 columns and 5 heights.

  Reveal hidden contents

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

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...