Jump to content
tylo

Au3Check.exe

Recommended Posts

The problem we have here is there's no official way of getting updates pushed out each new release without JdeB.  I suppose that I could look into doing some automated push of the appropriate files after each new release since it is my script that generates the files in the first place.  I'll have a think on the best way to accomplish that but its going to have to require no more effort on my part than clicking a button (Writing a script to push the updates excluded from the effort).  The delay between a new release of AutoIt and new versions of the file would be a day in the worst case but more realistically a matter of hours.  Both are significantly better than the once per SciTE update JdeB releases. 

I have ideas in mind, I'll see about getting something set up.

<{POST_SNAPBACK}>

I've uploaded v3.1.1.66 definitions here.

Files:

  • au3.api - SciTE API definition file.  This is the calltip information SciTE displays.

  • au3.keywords.properties - SciTE keyword file.  This is the auto-complete information SciTE displays.

  • au3check.dat - This is the database Au3 Check uses for syntax checking.
I will be keeping these 3 files up-to-date with each new beta release.  The files will be updated after each new release once I install that release so there will be a delay of a few hours to a day or two depending on how long it takes me to update (Realistically, its only a couple hours but I make no guarantees).

<{POST_SNAPBACK}>

Valik, this is what I was doing up till 3.1.1, in general posting the same or next day an SciTE4AU3Upd.exe installer containing the new Beta definitions, but JPM didn't post the Doc files for a while and it was unsure how things where going to be when Jon picks everyting up again, so i didn't want to change my automated process to generate the updates.

I can update that process now since the docfiles are available again and start uploading this small installer again shortly after the release of a Beta (And also the separate files for SciTE and AU3Check).

By the way: Your version of au3.keywords.properties contains your preprocesor keywords and not the list in the SciTE4AutoIt3 installation used by CompileAU3.

Lets discuss & agree on the path forward to avoid duplication of work .....

Jos


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

Share this post


Link to post
Share on other sites

Valik, this is what I was doing up till 3.1.1, in general posting the same or next day an SciTE4AU3Upd.exe installer containing the new Beta definitions, but JPM didn't post the Doc files for a while and it was unsure how things where going to be when Jon picks everyting up again, so i didn't want to change my automated process to generate the updates.

I can update that process now since the docfiles are available again and start uploading this small installer again shortly after the release of a Beta (And also the separate files for SciTE and AU3Check).

By the way: Your version of au3.keywords.properties contains your preprocesor keywords and not the list in the SciTE4AutoIt3 installation used by CompileAU3.

Lets discuss & agree on the path forward to avoid duplication of work .....

Jos

<{POST_SNAPBACK}>

I think it would be better if you went back to hosting them since most people are using your SciTE package. I didn't even think about the special symbols which is another reason that goes along with the first. I don't need or use your special symbols so they would not appear if I did releases.

I thought that in the past you were doing uploads of this nature but I hadn't seen one in months. I know all too well what you mean, though, as the changes to the process that were made also affected my automated scripts.

Share this post


Link to post
Share on other sites

ERROR: GUICtrlSetGraphic() [built-in] called with wrong number of args.
   GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, $pos[2] + 1, $pos[3] + 1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

Share this post


Link to post
Share on other sites

ERROR: GUICtrlSetGraphic() [built-in] called with wrong number of args.
   GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, $pos[2] + 1, $pos[3] + 1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Fixed in current SciTE4AU3Upd ...

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

Share this post


Link to post
Share on other sites

ERROR: ObjEvent() [built-in] called with wrong number of args.
$sFuncName = ObjEvent("AutoIt.Error")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

Share this post


Link to post
Share on other sites

ERROR: ObjEvent() [built-in] called with wrong number of args.
$sFuncName = ObjEvent("AutoIt.Error")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
You have to change

!ObjEvent 2 4

To

!ObjEvent 1 4

In

C:\Program Files\AutoIt3\SciTe\Defs\unstable\Au3Check\au3check.dat

(Or where your file is located.)

Share this post


Link to post
Share on other sites

ERROR: ObjEvent() [built-in] called with wrong number of args.
$sFuncName = ObjEvent("AutoIt.Error")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Ahhh, this is a challenge... it has two formats...:

ObjEvent ($ObjectVar, "functionprefix" [, "interface name"]] )

ObjEvent ("AutoIt.Error" [, "function name"])

B) guess the best solution here is to change the au3check.dat file line for ObjEvent to: !ObjEvent 1 3

See also the typo at the end of the first line in the Docs.. should be a single square bracket.


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

Share this post


Link to post
Share on other sites

Ahhh, this is a challenge... it has two formats...:

B) guess the best solution here is to change the au3check.dat file line for ObjEvent to: !ObjEvent 1 3

See also the typo at the end of the first line in the Docs.. should be a single square bracket.

You are right. I ran into this problem recently and changed the 2 to a 1.

I've overlooked that there are max 3 parameters. Indeed !ObjEvent 1 3 is correct.

Edited by Dickb

Share this post


Link to post
Share on other sites

guess the best solution here is to change the au3check.dat file line for ObjEvent to: !ObjEvent 1 3

Done with this, Thanks

See also the typo at the end of the first line in the Docs.. should be a single square bracket.

May you be more explicit with this other, please

Thanks in advance

Share this post


Link to post
Share on other sites

May you be more explicit with this other, please

Thanks in advance

This remark is for the Doc's folks...

ObjEvent ($ObjectVar, "functionprefix" [, "interface name"]] )

should be

ObjEvent ($ObjectVar, "functionprefix" [, "interface name"] )


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

Share this post


Link to post
Share on other sites

I've uploaded au3check v1.48

- Allow empty expressions as COM method args. E.g: $obj.method(1,,,,$val)

tylo, is this syntactically valid with AutoIt? I thought this was invalid and that the "Default" keyword had to be used.

Share this post


Link to post
Share on other sites

16th July 2005 - v3.1.1.60 (beta)

Added : Usage of 'Default' keyword instead of empty arguments to COM functions (only valid if COM function supports it). (By SvenP)

It says "instead of" so I infer that the empty argument syntax is invalid and has been replaced.

Share this post


Link to post
Share on other sites

Happy new Year.

I've uploaded au3check v1.49

- Optional warning for variables declared, but not used in function (default on).

- Reverted to disallow empty arguments in COM method calls.

For the other developers, I have added a new option: -u <file>. This outputs a near minimum[*] list of UDFs and global variable names that are actually used in your program. This lists the functions and global var declarations that must be part of your program - all other funcs and global var declarations can be removed. Should be very useful when compiling to exe to reduce size of the executable.

Simple example:

Global $g_W = 1024
Global $g_Y = 2006
Global $g_N = NextYear()
MsgBox(0, "Year", $g_N)
Exit

Func NextYear()
  Verify($g_Y)
  Return $g_Y + 1
EndFunc

Func Verify($y)
   Return ($y = @YEAR)
EndFunc

Func NotUsed($dummy)
   Local $t = 1
   Return 0
EndFunc

Using option -u out.txt will output:

$N

$Y

NextYear

Verify

Note that NotUsed($dummy) is not part of the list, and that $dummy and $t gets warnings that they are not used. Can be turned off with the option: -w- 5

[*] If you have $A = 1 and $B = $A, au3check will consider $A as used because it is a right hand side expression. However, if $B is never used as a RHS expression, $A wouldn't need to be included in the list either, but this is a minor thing. However, the list of functions is a true minimum.

Cheers

Edited by tylo

Share this post


Link to post
Share on other sites

I get the following every time I try to run 1.49:

AutoIt3 Syntax Checker v1.49 Copyright &copy; Tylo 2006

(0,0) : ERROR: TraySetItemOnEvent(): undefined function.

^

This was tested with a completely empty file and a file that was syntactically valid (And not using that function).

Share this post


Link to post
Share on other sites

Yeah, the new version detects a misspelling in the .dat file. Change the second last line from

%TraySetItemOnEvent 2 <UDF>

to

%TrayItemSetOnEvent 2 <UDF>

Ahh, those were manual entries, not auto-generated and I'd obviously never updated mine.

Share this post


Link to post
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

×
×
  • Create New...