Sign in to follow this  
Followers 0
Tweaky

Check the Helpfile

36 posts in this topic




Thanks.

Share this post


Link to post
Share on other sites

I try to understand the "11 Errors - related"

I think those as

34 RegRead Mutual does not refer RegRead refers to StringSplit. But not the other way

demonstrate a too strong relationship.

If a script can use StringSplit when needed as stated in the remarks section but why StringSplit should refer to RegRead

Share this post


Link to post
Share on other sites

Yes, I must give you right.

It makes not ever sense to refer back again.

However in version 3.3.0.0 there were over 500 functions for which the link is missing.

Now there are only 100 functions.

I think you could probably leave it in the future, so this error does not occur.

Share this post


Link to post
Share on other sites

Yes, I must give you right.

It makes not ever sense to refer back again.

However in version 3.3.0.0 there were over 500 functions for which the link is missing.

Now there are only 100 functions.

I think you could probably leave it in the future, so this error does not occur.

you may look at ticket #1249 where I post an updated version and 3 errors that I cannot understand

:)

Share this post


Link to post
Share on other sites

Hi,

I think this is wrong:

Hi,

DllCall:

[, "type1", param1 should be

[, "type1" [, param1

InputBox:

[, width, height [, left, top [, timeOut [, hwnd]]]]]] ) should be

[, width [, height [, left [, top [, timeOut [, hwnd]]]]]]]] )

$tagWIN32_FIND_DATA:

wchar cFileName[260];wchar cAlternateFileName[14]; should be

wchar cFileName[260];wchar cAlternateFileName[14]

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

Hi,

I think this is wrong:

Hi,

DllCall:

[, "type1", param1 should be

[, "type1" [, param1

InputBox:

[, width, height [, left, top [, timeOut [, hwnd]]]]]] ) should be

[, width [, height [, left [, top [, timeOut [, hwnd]]]]]]]] )

$tagWIN32_FIND_DATA:

wchar cFileName[260];wchar cAlternateFileName[14]; should be

wchar cFileName[260];wchar cAlternateFileName[14]

Thanks

I can agree that the extra ; in $tagWIN32_FIND_DATA can be suppress In fact AutoIt code don't care about this extra ;

For the other 2 NO you need type + param width+height or left+top or you will get an error at runtime

:)

Edited by jpm

Share this post


Link to post
Share on other sites

JP, for DllCall() you are correct. If specifying a type then a parameter must also be specified. However, InputBox() should not behave that way. Any parameters not specified (or specified with Default) should just use the internal default. There's no technical or logical reason to enforce paired parameters for InputBox() like that.

Share this post


Link to post
Share on other sites

Okay, I have some problems with the script. First of all, it crashes and I can't run it to completion. See lines 334 - 337:

If IsArray($nur_var) Then
    If StringRight($nur_var[0], 1) = " " Then $nur_var[0] = StringTrimRight($nur_var[0], 1)
EndIf
$exp_tmp = StringSplit($nur_var[0], ",")

Second, the script must pass "au3check.exe -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w 7". This includes removing the usage of Dim in favor of explicit Global or Local declarations.

There are other changes that need to be made as well but I can do those once I can actually run the script to completion.

Share this post


Link to post
Share on other sites

Okay, I have some problems with the script. First of all, it crashes and I can't run it to completion. See lines 334 - 337:

If IsArray($nur_var) Then
    If StringRight($nur_var[0], 1) = " " Then $nur_var[0] = StringTrimRight($nur_var[0], 1)
EndIf
$exp_tmp = StringSplit($nur_var[0], ",")

Second, the script must pass "au3check.exe -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w 7". This includes removing the usage of Dim in favor of explicit Global or Local declarations.

There are other changes that need to be made as well but I can do those once I can actually run the script to completion.

it is running OK under non beta !!!

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

Hi,

I don`t get an error.

Whats the error code?

What shows the console?

EDIT: I have test it under non Beta 3.3.0.0.

Edited by Tweaky

Share this post


Link to post
Share on other sites

JP, for DllCall() you are correct. If specifying a type then a parameter must also be specified. However, InputBox() should not behave that way. Any parameters not specified (or specified with Default) should just use the internal default. There's no technical or logical reason to enforce paired parameters for InputBox() like that.

in fact does for inputbox

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

in fact does for inputbox

It shouldn't. If it does then InputBox() needs fixed to remove the arbitrary restriction.

Edit: The error in the code is obvious!

If IsArray($nur_var) Then
    If StringRight($nur_var[0], 1) = " " Then $nur_var[0] = StringTrimRight($nur_var[0], 1)
EndIf
$exp_tmp = StringSplit($nur_var[0], ",")

The last line of code assumes $nur_var is always an array. Apparently with 3.3.1.4 there are conditions in which it may not be an array. So the code tries to access an index for a non-array item.

Edited by Valik

Share this post


Link to post
Share on other sites

So it works

If IsArray($nur_var) Then
                            If StringRight($nur_var[0], 1) = " " Then $nur_var[0] = StringTrimRight($nur_var[0], 1)
                        Else
                            Dim $nur_var[1]
                        EndIf
                        $exp_tmp = StringSplit($nur_var[0], ",")

Share this post


Link to post
Share on other sites

It shouldn't. If it does then InputBox() needs fixed to remove the arbitrary restriction.

I know I did that for a reason when I wrote InputBox back in 2002 (or so). I just don't remember what that reason was right now. If you want, add it to Trac and assign it to me and I can change it.

David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

Share this post


Link to post
Share on other sites

Don't worry about it, David. I anticipate it will only take a couple minutes to fix so I'll take care of it tomorrow or whenever I remember.

Share this post


Link to post
Share on other sites

#17 ·  Posted (edited)

Tweaky, here's the version of your script I'm using. I've made the following changes:

  • The script now passes Au3Check cleanly. No warnings or errors. Future versions must always meet this criteria. I enforce very rigid quality control standards on our build scripts and one of those things is the script must pass "au3check.exe -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w 7" cleanly.
  • The script is now configured via an INI file. It's now easier to localize and change error output languages with just a quick setting change in the INI file. Also paths are no longer hard-coded in favor of being configured in the INI file. This should make it easier for you to update and for us to integrate the changes since the source file no longer controls the configuration, too.
It *looks* like some other stuff should perhaps be in the INI file as well. Could you please explain to me what the variables $array_auslassen_anz_var, $array_auslassen_optional, $array_sammelfunc_1 and $array_sammelfunc_2 contain? I think I can guess but I want to be sure. If they do what I think then I'll add some code to read them from INI (I think I have code laying around to do this already).

A couple comments about the tests. Test 21 (validate links) seems to complain a lot and I don't understand why. I find it very hard to believe that we have so many bad links. That's why the INI file I've provided has it disabled (the INI file is the one I currently have configured meaning it's how we're going to run things). Also I suggest getting rid of test 19 completely. I will never enable that test and as JP has already pointed out, it's pretty much useless. There's not much correlation.

I would really like it if the script didn't write anything to disk. I'd like to see $grundpfad_geaenderte, $ini_verwandte and the related INI setting go away. Is this possible? For us, at least, we only need output from stdout which is already provided. I can't see the purpose of writing to a file, it appears to only happen in one place. The INI file appears to be related entirely to test 19 which as I mentioned is totally useless. If writing to a file is necessary for your use of the script, then I ask that you please provide an option exposed via the INI file so it can be disabled.

That's all for now. I'll probably change the structure of the program slightly at a later time just to move any executed code inside a function. I detest code being executed at global scope (that isn't a global variable definition) because it's far too easy to miss something.

Edit: Attachment removed.

Edited by Valik

Share this post


Link to post
Share on other sites

Hi,

so now I will try to give you an answer :)

$array_auslassen_anz_var:, ... look to the script. Now I have explain it there

Test 21 validate links:

I have correct this. Please try if it works now

Test 19 related:

Please do not delete this. Maybe we need this in further future

You can disable it in the ini.

I have rename $grundpfad_geaenderte to $grundpfad_optional_hinzu.

An I have have atted a option "write" at test 20

0 = write no file

1 = attach the word "optional" to the files were this is missing

I have $ini_verwandte removed

Please test all an report it.

I hope it works.

Tweaky ;)

Help Check 01 Test 22.rar

Share this post


Link to post
Share on other sites

#19 ·  Posted (edited)

Test 21 validate links:

I have correct this. Please try if it works now

It still gives tons of errors.

Test 19 related:

Please do not delete this. Maybe we need this in further future

You can disable it in the ini.

I can pretty much guarantee you that it's never going to be used by us. We are simply not going to reference the documentation the way the test wants. It does not make sense. I don't understand what use you think it has.

I have rename $grundpfad_geaenderte to $grundpfad_optional_hinzu.

An I have have atted a option "write" at test 20

0 = write no file

1 = attach the word "optional" to the files were this is missing

In the version I will post later I've moved this to "Settings" where it belongs. I don't think the write flag is test-specific (Yes, it is now, but it's unlikely another test can't use the feature).

A few other comments:

  • The localization stuff needs to be handled by the INI file, not hard-coded into the script. I see hard-coded strings for test 19 that are trivial to define via INI using StringFormat().
  • Don't hard-code paths. That's the whole reason I made changes so the script is INI-configured. Your paths are not going to match our paths and I really don't want to have to hand-edit your configuration out of the script every time. The variable in question is $grundpfad_komplett and I can't figure out what it's supposed to do anyway.
  • Please minimize the use of global variables in the future. At some point I'm going to change the script so it doesn't require global variables.
Edit: Script attached. This is what I currently have in our build process.

Help Check.zip

Edited by Valik

Share this post


Link to post
Share on other sites

Hi,

I have corrected my script again :)

Now I have testet it with the source files from 3.3.1.4 beta.

You are right that there are a tons of errors.

Now I get only this errors (link errors)

1   GUICtrlCreateAvi        Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
2   GUICtrlCreateButton     Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
3   GUICtrlCreateCheckbox       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
4   GUICtrlCreateCombo      Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
5   GUICtrlCreateEdit       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
6   GUICtrlCreateIcon       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
7   GUICtrlCreateInput      Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
8   GUICtrlCreateLabel      Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
9   GUICtrlCreateList       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
10  GUICtrlCreateMenu       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
11  GUICtrlCreateMenuItem       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
12  GUICtrlCreatePic        Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
13  GUICtrlCreateProgress       Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
14  GUICtrlCreateRadio      Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
15  GUICtrlCreateSlider     Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
16  GUICtrlCreateTab        Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm
17  GUICtrlCreateTabItem        Link errors C:\autoit-docs-v3.3.1.4-src\docs\autoit\english\html\functions\GUICtrlUpdate Managenent.htm

Test 19 removed ;)

Write-Support for the missing optional removed B)

Help Check 01 Test 23.rar

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
Sign in to follow this  
Followers 0