Jump to content

Au3Check.exe


tylo
 Share

Recommended Posts

  • Developers

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 etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
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.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • Developers

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 etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
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.)

Link to comment
Share on other sites

  • Developers

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 etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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

Link to comment
Share on other sites

  • Developers

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 etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
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.
Link to comment
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.
Link to comment
Share on other sites

  • 2 months later...

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

blub

Link to comment
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).
Link to comment
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.
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...