bobbintb Posted June 17, 2009 Share Posted June 17, 2009 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 More sharing options...
herewasplato Posted June 17, 2009 Share Posted June 17, 2009 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 More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 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 More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 well it seems that running it with autoit3_x64.exe instead of autoit3.exe is the problem. is there anyway to either fix it or change the program it runs? Link to comment Share on other sites More sharing options...
Skruge Posted June 17, 2009 Share Posted June 17, 2009 Have you tried this directive?#AutoIt3Wrapper_UseX64=n [font="Tahoma"]"Tougher than the toughies and smarter than the smarties"[/font] Link to comment Share on other sites More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 Have you tried this directive?#AutoIt3Wrapper_UseX64=n i just tried it by adding it after the include and it didnt work. Link to comment Share on other sites More sharing options...
herewasplato Posted June 17, 2009 Share Posted June 17, 2009 yea i dont know why i didnt post the code to begin with but here: ...Thanks. now let's give Jos a chance to stop by. [size="1"][font="Arial"].[u].[/u][/font][/size] Link to comment Share on other sites More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 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. Link to comment Share on other sites More sharing options...
Developers Jos Posted June 17, 2009 Developers Share Posted June 17, 2009 (edited) 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 June 17, 2009 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 More sharing options...
Developers Jos Posted June 17, 2009 Developers Share Posted June 17, 2009 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 More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 Have you tried the current Beta before considering filing a bugreport?Josjust tried it with the beta and it still doesnt work. Link to comment Share on other sites More sharing options...
Valik Posted June 17, 2009 Share Posted June 17, 2009 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 More sharing options...
bobbintb Posted June 17, 2009 Author Share Posted June 17, 2009 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now