Hello all,
In a typelib (.IDL file) I'm trying to define a method with default values for some arguments:
HRESULT MyMethod([in] variant* Arg1, [in, defaultvalue(-1)] long Arg2, [in] long Arg3, [in] variant* Arg4, [in, defaultvalue(-1)] long Arg5, [in] variant* Arg6, [out, retval] variant* TheResult);
From VBScript I'm trying to call the method without specifying those "defaultvalue" arguments
TheResult = MyMethod(Arg1,,Arg3,Arg4,,Arg6)
Alas, I'm getting an error saying that the (Arg2 and Arg5) arguments are not optional.
My question: How come ? Those "defaultvalue" arguments locations are, AFAICS, known and fixed. What do I need to also specify to make the above work ?
Remark: using a one or more "defaultvalue" arguments at the end of a method (before the "retval" one) works fine.
Regards,
Rudy Wieser
The `defaultvalue` attribute requires the `optional` attribute.
JJ,
The `defaultvalue` attribute requires the `optional` attribute.
I'm going to read that as "if not used at the end than ...".
But alas, when I try I get an "invalid attribute combination" ... (my
TypeLib compiler is 'mktyplib' which is .. a bit old - as old as the rest of my Borland Assembler)
Regards,
Rudy Wieser
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 379 |
Nodes: | 16 (2 / 14) |
Uptime: | 42:42:29 |
Calls: | 8,141 |
Calls today: | 4 |
Files: | 13,085 |
Messages: | 5,857,851 |