EmkioA Posted February 2, 2010 Share Posted February 2, 2010 Hi, i use the version 3.3.4.0 of autoit. i use #OnAutoItStartRegister, when i lauch the application from the SciTE environnment, it work when i compile the application, it dont work Is there a way to have OnAutoItStart work again on a compiled application? Thanx Stéphane Link to comment Share on other sites More sharing options...
jchd Posted February 2, 2010 Share Posted February 2, 2010 i use #OnAutoItStartRegister, when i lauch the application from the SciTE environnment, it workwhen i compile the application, it dont workI confirm this unexpected bahavior with the beta compile too, XP SP3 x86. Looks like a bug. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
PsaltyDS Posted February 2, 2010 Share Posted February 2, 2010 You didn't by any chance put parens around your function name, did you? ; Wrong: ; #OnAutoItStartRegister("MyTestFunc") ; ; Should be: #OnAutoItStartRegister "MyTestFunc" Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 2, 2010 Moderators Share Posted February 2, 2010 Hi, Same result for me with 3.3.4.0 on Vista HP SP2: Neither start function runs when compiled; both run from SciTE Exit function runs without problem in both cases. #OnAutoItStartRegister "_start_1" #OnAutoItStartRegister "_start_2" OnAutoItExitRegister("_end") Func _start_1() MsgBox(0,"Test", "Starting 1") EndFunc Func _start_2() MsgBox(0,"Test", "Starting 2") EndFunc Func _end() MsgBox(0, "Test", "Ending") EndFunc I will wait until tomorrow before putting in a bug report just in case we are all missing something obvious. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
jchd Posted February 2, 2010 Share Posted February 2, 2010 You didn't by any chance put parens around your function name, did you?Even the simple help file example is a nop. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
PsaltyDS Posted February 2, 2010 Share Posted February 2, 2010 Even the simple help file example is a nop.It should be in BugTracker then, go ahead and create a ticket. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
NDTC Posted February 2, 2010 Share Posted February 2, 2010 Same result for me with V3.3.4.0 on Seven x64. Link to comment Share on other sites More sharing options...
jchd Posted February 3, 2010 Share Posted February 3, 2010 This is now ticket #1448BTW, I'm curious to learn what is allowable in an #OnAutoItStartRegister function. Search turned up nothing.For instance, I would have expected this code to produce either Box1 or Box2 but no both, depending on it being interpreted: it should produce Box1 since #OnAutoItStartRegister worksor compiled: it should produce Box2 since #OnAutoItStartRegister doesn't work.#OnAutoItStartRegister "MsgFunc" If Not IsDeclared($flag) Then MsgBox(0, "Box2", "#OnAutoItStartRegister failed.") Func MsgFunc() MsgBox(0, "Box1", "#OnAutoItStartRegister doing its job.") Global $flag = -1 EndFuncExcept if the feature is more deeply affected by #1448 bug, the script below tends to show that #OnAutoItStartRegister function: may call other user functions may declare and manipulate local variables may declare and manipulate global variables, but they are treated as if they were declared local. may not use any variable declared outside #OnAutoItStartRegister function since the execution point never got there. may not use UDFsIs that a correct characterization? Are there other limitations?#OnAutoItStartRegister "MsgFunc" If Not IsDeclared($str) Then MsgBox(0, "", "#OnAutoItStartRegister failed.") Func MsgFunc() MsgBox(0, "", "#OnAutoItStartRegister doing its job.") Global $str = "AutoIt start part" $str &= " of this *** has been" $str = StringReplace($str, "***", "string") & " transformed" SuffixIt($str) ConsoleWrite($str & " hence it has had an existence in variable space." & @LF) EndFunc Func SuffixIt($s) If IsDeclared($str) Then MsgBox(0, "Still within AutoItStart", "Variable $str currently exists.") Else MsgBox(0, "User function called from AutoItStart", "Variable $str doesn't really exists.") EndIf Return(StringUpper($s) & ' ') EndFunc This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
jpm Posted February 3, 2010 Share Posted February 3, 2010 This is now ticket #1448 BTW, I'm curious to learn what is allowable in an #OnAutoItStartRegister function. Search turned up nothing. For instance, I would have expected this code to produce either Box1 or Box2 but no both, depending on it being interpreted: it should produce Box1 since #OnAutoItStartRegister works or compiled: it should produce Box2 since #OnAutoItStartRegister doesn't work. #OnAutoItStartRegister "MsgFunc" If Not IsDeclared($flag) Then MsgBox(0, "Box2", "#OnAutoItStartRegister failed.") Func MsgFunc() MsgBox(0, "Box1", "#OnAutoItStartRegister doing its job.") Global $flag = -1 EndFunc Except if the feature is more deeply affected by #1448 bug, the script below tends to show that #OnAutoItStartRegister function: may call other user functions may declare and manipulate local variables may declare and manipulate global variables, but they are treated as if they were declared local. may not use any variable declared outside #OnAutoItStartRegister function since the execution point never got there. may not use UDFsIs that a correct characterization? Are there other limitations? #OnAutoItStartRegister "MsgFunc" If Not IsDeclared($str) Then MsgBox(0, "", "#OnAutoItStartRegister failed.") Func MsgFunc() MsgBox(0, "", "#OnAutoItStartRegister doing its job.") Global $str = "AutoIt start part" $str &= " of this *** has been" $str = StringReplace($str, "***", "string") & " transformed" SuffixIt($str) ConsoleWrite($str & " hence it has had an existence in variable space." & @LF) EndFunc Func SuffixIt($s) If IsDeclared($str) Then MsgBox(0, "Still within AutoItStart", "Variable $str currently exists.") Else MsgBox(0, "User function called from AutoItStart", "Variable $str doesn't really exists.") EndIf Return(StringUpper($s) & ' ') EndFunc not solving the problem but IsDeclared($str) must be IsDeclared("str") Link to comment Share on other sites More sharing options...
jchd Posted February 3, 2010 Share Posted February 3, 2010 not solving the problem but IsDeclared($str) must be IsDeclared("str")Bordel de merde, quel con !I must recognize it works considerably better once you use the right syntax.I shouldn't be doing anything at 05:32 AM, certainly not posting here. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
EmkioA Posted February 3, 2010 Author Share Posted February 3, 2010 You didn't by any chance put parens around your function name, did you? ; Wrong: ; #OnAutoItStartRegister("MyTestFunc") ; ; Should be: #OnAutoItStartRegister "MyTestFunc" I use the #OnAutoItStartRegister "MyTestFunc" but i have an idea. The # is a pre-processor keyword its normal it work into the environement, you should try to transform it as a function as OnAutoItExitRegister( "ExitFuncName" ). Thanx Stéphane 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