Misha Koshelev wrote:
So I am thinking of implementing some more OLE automation functions and just wanted to clarify one thing before I start doing this. Specifically, parameter names can be arbitrary as far as OLE automation in general is concerned, however for MSI in particular when you use the incorrect parameters for a method/property (for example one instead of two) it throws an exception whose description is "Methodname,Param1Name,Param2Name,etc". I had to make a todo_wine in my conformance test in this because our parameter names are currently different (intentionally as per instructions reference above).
I doubt that any application would depend on the exact description of such an exception, but nonetheless it might be confusing to get different parameter names, say, for a developer who is making an MSI (on Wine???) and is trying to debug his MSI script. In any case, I doubt it matters much but I just wanted to make sure if we should stick with using different parameter names or switch to the same ones (I don't know what kind of copyright issues this really raises or avoids). Otherwise, it would be a pain to change this later on if we already have everything implemented and we find that it is necessary to have the same exception string for some reason.
Actually, I forgot that with typelibs parameter names are part of the interface. For example, in some scripting languages (including VBScript and JScript I think) you can do the following:
Methodname(Param1Name=1, Param2Name=2)
This obviously won't work if the parameter names are different.
However, the procedure to cleanly implement an IDL file with compatible parameter names isn't clear to me. I would think we would need legal advice as to how to do this.