Tweaky Posted September 15, 2009 Share Posted September 15, 2009 (edited) Hi,the following files it to check the help file.This is for ValikAutoIt Hilfe checken 01 Test 20.rar@ValikHere is the script to check the helpfile.You want it http://www.autoitscript.com/trac/autoit/ticket/996Please test it and post if it works for youEDIT: I have improve my script a little Edited October 26, 2009 by Tweaky Link to comment Share on other sites More sharing options...
Valik Posted September 15, 2009 Share Posted September 15, 2009 Thanks. Link to comment Share on other sites More sharing options...
jpm Posted October 25, 2009 Share Posted October 25, 2009 I try to understand the "11 Errors - related"I think those as34 RegRead Mutual does not refer RegRead refers to StringSplit. But not the other waydemonstrate 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 Link to comment Share on other sites More sharing options...
Tweaky Posted October 26, 2009 Author Share Posted October 26, 2009 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. Link to comment Share on other sites More sharing options...
jpm Posted October 28, 2009 Share Posted October 28, 2009 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 Link to comment Share on other sites More sharing options...
Tweaky Posted October 30, 2009 Author Share Posted October 30, 2009 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] Link to comment Share on other sites More sharing options...
jpm Posted October 30, 2009 Share Posted October 30, 2009 (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 October 30, 2009 by jpm Link to comment Share on other sites More sharing options...
Valik Posted October 30, 2009 Share Posted October 30, 2009 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. Link to comment Share on other sites More sharing options...
Valik Posted October 30, 2009 Share Posted October 30, 2009 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. Link to comment Share on other sites More sharing options...
jpm Posted October 30, 2009 Share Posted October 30, 2009 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 !!! Link to comment Share on other sites More sharing options...
Tweaky Posted October 30, 2009 Author Share Posted October 30, 2009 (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 October 30, 2009 by Tweaky Link to comment Share on other sites More sharing options...
jpm Posted October 30, 2009 Share Posted October 30, 2009 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 Link to comment Share on other sites More sharing options...
Valik Posted October 30, 2009 Share Posted October 30, 2009 (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 October 30, 2009 by Valik Link to comment Share on other sites More sharing options...
Tweaky Posted October 30, 2009 Author Share Posted October 30, 2009 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], ",") Link to comment Share on other sites More sharing options...
Nutster Posted October 31, 2009 Share Posted October 31, 2009 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 NuttallNuttall 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... Link to comment Share on other sites More sharing options...
Valik Posted October 31, 2009 Share Posted October 31, 2009 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. Link to comment Share on other sites More sharing options...
Valik Posted November 2, 2009 Share Posted November 2, 2009 (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 November 3, 2009 by Valik Link to comment Share on other sites More sharing options...
Tweaky Posted November 2, 2009 Author Share Posted November 2, 2009 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 Link to comment Share on other sites More sharing options...
Valik Posted November 3, 2009 Share Posted November 3, 2009 (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 November 3, 2009 by Valik Link to comment Share on other sites More sharing options...
Tweaky Posted November 3, 2009 Author Share Posted November 3, 2009 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 Help Check 01 Test 23.rar Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now