Followers 0

# Autoit3wrapper does not honour extra include dirs..

## 6 posts in this topic

#1 ·  Posted (edited)

EDIT: Removed code as it was redundant when letting au3wrapper use the au3checkJdeB.exe file rather than au3check.exe. See @JdeB's post

AutoIt's help file states:

There is a special registry value that can be created at "HKEY_CURRENT_USER\Software\AutoIt v3\AutoIt" called "Include". It should be a REG_SZ (string) value. The contents of this value are a semi-colon delimited list of directories that should be searched for files when resolving #include's in addition to the standard locations.

But this is not honored by Autoit3wrapper when it calls au3check.

As I consider Autoit3wrapper "a must have tool" I have patched my Autoit3wrapper with this code:

;REMOVED

Hopefully @JdeB will apply something similar in his next release.

EDIT: Did not catch this: ;TODO: Should check if AutoItinstalldir\include is in the list if not add it!

Edited by Uten

##### Share on other sites

#2 ·  Posted (edited)

Did not catch that I have to specify autoitinstalldir\include when using extra include folders. I did have it in the registry. But for some reason I get BUFFER OVERFLOW warnings in regmon when the string gets to long. Nothing wrong happens on my system. But better to be safe than sorry. And specifying the autoitinstalldir\include path in the registry would probably create unexpected results on a default system with prod/beta compile options.

EDIT: Typo's

Edited by Uten

##### Share on other sites

#3 ·  Posted (edited)

It is AU3Check that need to honor the proper include directories.

When you run the latest version of SciTE4AutoIt3, it shoud start the modified AU3Check to honor this new setup.

Find here the post with all the details.

So is the current version of AU3Check which i distribute with SciTE4AutoIt3 and copied to the AutoIt3 program directory not following the defined logic for Includes ?

Edited by JdeB

Live for the present,
Dream of the future,
Learn from the past.

##### Share on other sites

#4 ·  Posted (edited)

Did not catch that I have to specify autoitinstalldir\include when using extra include folders. I did have it in the registry. But for some reason I get BUFFER OVERFLOW warnings in regmon when the string gets to long. Nothing wrong happens on my system. But better to be safe than sorry. And specifying the autoitinstalldir\include path in the registry would probably create unexpected results on a default system with prod/beta compile options.

EDIT: Typo's

You get buffer overflow warnings when virtually anything tries to read from the registry. The length of the data is unknown at runtime so a request is sent to get this data with a NULL data buffer. Obviously, with no actual storage space allocated to hold the data, the buffer overflows. However, in the process, the size of the data is "returned" so that the caller can allocate a buffer to hold the data. Then a second call is made with the newly allocated buffer and the data is read. It's quite standard behavior. Edited by Valik

##### Share on other sites

Hope I did not offended you because that was not the intention with my post.

So the SciTe4AutoIt4 installer renames your file au3checkJdeB.exe and puts it in the Autoit3\beta folder where au3wrapper looks for it.

I'll remove my patch code to avoid further confusion.

Thanks

##### Share on other sites

Hope I did not offended you because that was not the intention with my post.

Ofcourse not ....

So the SciTe4AutoIt4 installer renames your file au3checkJdeB.exe and puts it in the Autoit3\beta folder where au3wrapper looks for it.

Correct.. I have updated the latest version provided by Tylo with the new logic as defined in the post and called it au3checkJdeB.exe. This is indeed copied to the AutoIt3\Beta program directory.

This update should not be used by the 3.1.1 version since that still follows the previous Include dir search logic.

Hope Tylo will find time soon to update his official version with this update.

Live for the present,
Dream of the future,
Learn from the past.