Jump to content
Sign in to follow this  
Champak

ObjEvent by reference

Recommended Posts

Champak

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?

Share this post


Link to post
Share on other sites
DaleHohm

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

Share this post


Link to post
Share on other sites
Champak

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?

Share this post


Link to post
Share on other sites
DaleHohm

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

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  

×