Champak Posted October 27, 2008 Share Posted October 27, 2008 How do I find out if the event is being passed by reference or not....besides if it just doesn't work? Is there any test code I can inject or something I can see in OLE viewer? Link to comment Share on other sites More sharing options...
DaleHohm Posted October 28, 2008 Share Posted October 28, 2008 AutoIt COM does not support byRef. Even if you specify it in a function definition, it uses byVal instead. Unfortunate, but non-trivial to implement - there are several discussions about this in the forum. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
Champak Posted October 28, 2008 Author Share Posted October 28, 2008 Either you answered my question and it went over my head, or you didn't understand what I am asking. I know that COM does not "support" byRef, I want to know if there is a way to detect if that is what the COM is trying to pass instead of the object just failing and not knowing why it is failing. That may sound pointless and redundant, but it is a help in not spinning my wheels to try and figure out why something is not working when it is as simple as the thing is being passed byRef so essentially there is no solution and move on. If figuring this out is not possible by writing some type of error script, can I find this out by looking in OLE like I would look for dispatch? Link to comment Share on other sites More sharing options...
DaleHohm Posted October 28, 2008 Share Posted October 28, 2008 I don't think there is any way to capture that this is happening. I think that the COM interface silently makes an AutoIt clone of the byRef value. I believe you'll need to research each function individually to see what parameters are being passed byRef... it is possible the OLE Viewer could tell you about this but I have never looked... I rely on the function documentation and am fortunate that most of what I use has it. Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble 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