Jump to content

Recommended Posts

Posted

Can we hold up for a day Jon?

Something has definitly broken and I want to backtrack to see where it happened. I'm not sure if it's in AutoIt or in Scite nor do I know in what beta version it happened.

Everything has been fine with test scripts and any other small scripts I tried but when I got to testing the PCRE Toolkit I ran into a major issue. Not only will it not Run under Scite it won't compile either. Since there are no script breaking changes listed I will have to start going back to previous versions of the beta and see if I can find out when it happened and then try to see what is happening. It will be 3 or 4 hours before I can even start on that part.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Posted

Yes, bug in the testscript.

@jchd: Thanks for the script, now my nested DLLStructs are corrected, too.

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Posted

Okay, I took a few minutes away from service to check this.

The Beta isn't what is directly causing my problem. It is however causing a problem in one file that is #Included in my code. I still don't know why it tried to compile the Beta version and just hung up in the middle and went no place. I had to force the compile (through Scite) to close with End Process.

Also Just an FYI; I have to look at why my processor usage went up to about 90% on 2 of my cores after I forced the process to close but that is probably not AutoIt related. It's just never happened with anything before now.

@jchd

The problem file is one of yours. Get hold of me on IM when you get a chance and I'll give you the details. I probably won't be back here for a while so better with the IM.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Posted

3.3.7.3 crashes on parsing a (meaningless) align directive at the end of a struct:

[autoit]Local $s5 = DllStructCreate("int; STRUCT; short; char; align 1; ENDSTRUCT; char")

Interesting, I just found align on its own or at the end of the string causes crashes on the production v3.3.6.1 as well as the latest betas. The following strings crash AutoIt (adding ';' after align doesn't help):

"align 4"
"align 4;dword;byte;align 2"
  • Administrators
Posted

Can anyone out there give me a good reason for structures to change alignment part of the way through?

None really. 99.9999% of the winapi structures are at default alignment. But all these weird tests at least give me the confidence that our padding logic is correct.

When a modern computer reads from or writes to a memory address, it will do this in word sized chunks (e.g. 4 byte chunks on a 32-bit system). Data alignment means putting the data at a memory offset equal to some multiple of the word size, which increases the system's performance due to the way the CPU handles memory. To align the data, it may be necessary to insert some meaningless bytes between the end of the last data structure and the start of the next, which is data structure padding.

Posted

Jon, remember to use A_01_configure_build_settings to update the versions. It looks like Au3Check had a manual change. Also for some reason the change to 3.3.7.4 didn't happen for all the files. Not sure if this was an issue with the script, with you not using the script or some other working copy weirdness that prevented the changes from getting committed. Previous version changes appear to have gone okay so I assume you are using the script at least some of the time.

Posted

Yeah, I always use the script.

Strange. Something definitely went wrong with the 3.3.7.4 change as you can see from one of my more recent commits. We can chalk the Au3Check one up to probably not having the right year set. Hopefully it was a one-time thing and not a bug in the script.
Posted

Is it possible to change the syntax for the sake of forward compatibility to something like

$sStruct = 'align 2;int;{double};byte'
$stStr = DllStructCreate($sStruct)

$sStruct = 'int;{ptr;int};byte'
$stStr = DllStructCreate($sStruct)

I can understand the need to have the simplest transition as possible with UDFs, but still. And it looks weird to me. :huh2:

Jokes aside, really.

♡♡♡

.

eMyvnE

Posted

@Richard,

Can anyone out there give me a good reason for structures to change alignment part of the way through?

Because existing structs already in use in the wild may require it, either in files or memory-mapped I/O where cheating is out of question.

I agree that you can just go with align 1 and insert padding with filler bytes yourself to model any existing struct, but doing so is not only very cumbersome and also prone to potentially serious errors even if you are cautious.

I had once to create thousand of AutoIt structs with sometimes weird layout and I'd have liked to avoid inserting dummies everywhere.

why are structures padded anyway?

Struct arrays and nested structs often require padding, and sometimes with different packing sizes for inner struct(s).

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)

Posted

Just a general question about the Betas

Is there any particular reason to have the Scite folder included in the Beta SFX files? Or in the Beta installer for that matter since it doesn't install without the release version if I remember correctly.

As far as I know it will still use the version of Scite installed in the main AutoIt3 folder so having the extra one seems somewhat redundant.

This only came to mind when I thought of sending a PM to Jos about something Scite related that I noticed while I was testing a script.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

  • Developers
Posted

Just a general question about the Betas

Is there any particular reason to have the Scite folder included in the Beta SFX files? Or in the Beta installer for that matter since it doesn't install without the release version if I remember correctly.

As far as I know it will still use the version of Scite installed in the main AutoIt3 folder so having the extra one seems somewhat redundant.

This only came to mind when I thought of sending a PM to Jos about something Scite related that I noticed while I was testing a script.

This is only valid when you either have the Full version of SciTE4AutoIt3 installed or no changes were made to the lite version supplied with the production version of Autoit3.

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

  • Administrators
Posted

Jon, remember to use A_01_configure_build_settings to update the versions. It looks like Au3Check had a manual change. Also for some reason the change to 3.3.7.4 didn't happen for all the files. Not sure if this was an issue with the script, with you not using the script or some other working copy weirdness that prevented the changes from getting committed. Previous version changes appear to have gone okay so I assume you are using the script at least some of the time.

This just happened again. I'd accidentally used the x64 version of autoit to run it and it only half works. Arse.

Edit: Specifically, it's not modifiying the .rc files.

Edit2: Some function in "VersionSetByPath" must be failing as input and output are always identical. This will be fun to track down >.<

Edit3: It works in the Prod version, that makes it a bit easier to find I guess.

Edit4: Need to go out. Found that it occurs between revision 6011-6026

Posted

Oh, so it's a bug in AutoIt itself in one of the betas that only happens with x64? In other words, AutoIt is broke, not the script.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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