Jump to content

script stopped working after installing SciTE4AutoIt3


Recommended Posts

ive been working on a script and it quite working after installing SciTE4AutoIt3. it doesnt give an error but the output is not correct. uninstalled it and it works fine. reinstalled it and its broken again. any ideas why?

Link to comment
Share on other sites

It would help if you would/could post a small script that reproduces the problem. If you make such a script, post the full text of the SciTE output that you are seeing. I'm guessing that when SciTE4AutoIt3 is uninstalled, you are using the SciTE "lite" version that comes with the default install.

[size="1"][font="Arial"].[u].[/u][/font][/size]

Link to comment
Share on other sites

yea i dont know why i didnt post the code to begin with but here:

#include <Array.au3>
$lines = ControlListView("µTorrent", "", "[ID:27]", "GetItemCount")
Dim $array[$lines]
For $i = 1 To $lines
    $array[$i - 1] = ControlListView("µTorrent", "", "[ID:27]", "GetText", $i - 1)
Next
_ArrayDisplay($array)

the array display is blank. but if SciTE4AutoIt3 isnt installed it works properly. i just have been using default settings.

here is the output that scite gives me when running the script:

>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "G:\list maker.au3" /autoit3dir "C:\Program Files (x86)\AutoIt3" /UserParams  
+>22:59:30 Starting AutoIt3Wrapper v.2.0.0.1    Environment(Language:0409  Keyboard:00000409  OS:WIN_VISTA/  CPU:X64 OS:X64)
>Running AU3Check (1.54.14.0)  from:C:\Program Files (x86)\AutoIt3
+>22:59:30 AU3Check ended.rc:0
>Running:(3.3.0.0):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "G:\list maker.au3"   
+>22:59:36 AutoIT3.exe ended.rc:0
+>22:59:37 AutoIt3Wrapper Finished
>Exit code: 0   Time: 7.267
Link to comment
Share on other sites

  • Developers

I have read through this thread but don't know why using the x64 version of AutoIt3 makes your script go wrong. I cannot test this as I do not have a X64 systems available.

The way Autoit3Wrapper currently is working is as follows:

RUN:

It will use autoit3_x64.exe when the system you run it on is a x64 OS and the program is present, else use the regular version of Autoit3.exe.

Compile:

It will run aut2exe_x64.exe when it is a X64 system and the program is present else it will run zut2exe.exe, BUT:

- It will use AutoItSC_x64.bin when it is a X64 system or when you specify #AutoIt3Wrapper_UseX64=y.

- It will use AutoItSC.bin when it is a 386 system or when you specify #AutoIt3Wrapper_UseX64=n

This behavior makes it possible to compile an script to be used on a X64 system when you are working on a 386 machine but obviously its not possible to this it that way.

Should this behavior be changed that also #AutoIt3Wrapper_UseX64=y is used when determining the AutoIt3.exe version?

Opinions please as I haven't really considered anything else than Compile using the specific BIN file till now.

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Developers

i read a post that said if you are certain your code work in x86 and not x64 you should report a bug. im wondering if this qualifies.

Have you tried the current Beta before considering filing a bugreport?

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

From the documentation for ControListView():

Remarks

As AutoIt is a 32-bit application some commands are not available when referencing a 64-bit application as Explorer when running on 64-bit Windows.

I need to clean that comment up. But the point remains, you can not read across bit-boundaries. A 32-bit AutoIt process can not read the ListView information from a 64-bit process and a 64-bit AutoIt process (your script) can not read from a 32-bit process (µTorrent).

Not a bug.

Link to comment
Share on other sites

From the documentation for ControListView():

Remarks

As AutoIt is a 32-bit application some commands are not available when referencing a 64-bit application as Explorer when running on 64-bit Windows.

I need to clean that comment up. But the point remains, you can not read across bit-boundaries. A 32-bit AutoIt process can not read the ListView information from a 64-bit process and a 64-bit AutoIt process (your script) can not read from a 32-bit process (µTorrent).

Not a bug.

ah that makes sense. i just changed it to not use 64bit when possible and it runs fine. problem solved. thank you for the clarification.

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...