gil900

Use ByRef in Call() is actually works. but not according to the documentation

16 posts in this topic

#1 ·  Posted (edited)

I tested this code:

Quote

$test = 0

Call('Test',$test)

ConsoleWrite($test & @CRLF)


Func Test(ByRef $var)
    $var = 1234
EndFunc

 

It print "1234". So it means that ByRef is works.

But according to the Help file:

Quote

The function can pass arguments to functions, however, ByRef parameters are not supported; there is no way to retrieve the ByRef parameter.

 

It should not  work.
So I think you have documentation error. Or I miss something?

Please confirm you have documentation error.

Autoit 3.3.14.2

 

 

EDIT:

I did mistake.. very ridiculous mistake. now I fixed it

Main()
Func Main()
    Local $TestVar = 0
    Call('Test',$TestVar)
    ConsoleWrite($TestVar & @CRLF)
EndFunc

Func Test(ByRef $TestVar2)
    $TestVar2 = 1234
EndFunc

I expect that now it will not print 1234 but still the same result!

Edited by gil900

Share this post


Link to post
Share on other sites



#3 ·  Posted

Share this post


Link to post
Share on other sites

#5 ·  Posted

Same errors here running the code, but that's coming from Au3Check.

AutoIt runs the code without a problem, and returns the ByRef value.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

I know what the problem is.  AU3check prevents you to run the code. I disabled AU3check when I run the script.
It does not run automatically in my custom setup. Try to disable it and you will get the same  result.

Edited by gil900

Share this post


Link to post
Share on other sites

#8 ·  Posted

Anyway the error is also in the help file and not only au3check.

My au3check ver is 3.3.14.2

 

Share this post


Link to post
Share on other sites

#9 ·  Posted

Understood your original question and I was merely responding to the au3check error reported.
I don't get that error and I am running 3.3.15.0 in beta and 3.3.15.1 in my production setup.

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#10 ·  Posted

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

24 minutes ago, gil900 said:

 

In Beta mode I also get the error on au3check

 

With version au3check 3.3.15.0?

Sorry: I get the error in the Beta version 3.3.15.0, but not in 3.3.15.1.  Guess I changed that in the latest version. :)

Jos

 

Edited by Jos

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#13 ·  Posted

1 minute ago, Jos said:

With version au3check 3.3.15.0?

It say "Running AU3Check (3.3.14.2) "

I run it on beta mode

Share this post


Link to post
Share on other sites

#14 ·  Posted

Fixed #3267: removed the message for Byref Const or returned value of a func as that is supported by Autoit3

Was reported as a bug in TRAC which I fixed august last year.

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#15 ·  Posted

Thanks
It is strange that I did not got this patch.
I downloaded and reinstalled Autoit quite recently

Share this post


Link to post
Share on other sites

#16 ·  Posted

Just now, gil900 said:

It is strange that I did not got this patch.

No it isn't as it isn't release yet but only available as separate download. ;)

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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