compiling test.idl with dceidl - bit lairy and archaic
Robert Shearman
rob at codeweavers.com
Wed Jan 19 17:37:24 CST 2005
Luke Kenneth Casson Leighton wrote:
>On Wed, Jan 19, 2005 at 09:50:09PM +0000, Luke Kenneth Casson Leighton wrote:
>
>
>>4) case statements where the switch variable is a char i
>>couldn't be bothered to find a way to let it be happy with case(1)
>>it was bitching about 1 not being a char so i converted to
>>a short and it stopped bitching.
>>
>>
>
>
> postscript:
>
> 16) i enabled the "expressioning" stuff and got this:
>
> lkcl at highfield:~/src/wine-test/dcom-test/RpcTest$ /opt/dce/bin/dceidl test.idl
> Warning: Semantic checking prevented by other reported errors
> idl: File test.idl, line 99: void SubOneConformanceArrayIn([in] long
> size, [in, length_is(size-1)] unsigned char Array[10]);
> idl: Syntax error near "-1"
> Syntax error in attribute list
> idl: File test.idl, line 100: void CallbackConformanceArrayIn([in]
> long size, [in, length_is(size*2+1)] unsigned char Array[10]);
> Only simple expressions allowed for now
>
>
Yes, the function is named CallbackConformanceArrayIn because it is a
complicated expression and MIDL creates a callback function in C which
implements the complex expression, and then stores an index to execute
it at runtime.
>
> all the things 1-16 are not insurmountable problems - they've just not
> been necessary for the tasks to which dceidl has been put.
>
>
>
Of course, this is a purely academic test file. Many of those problems
would not be encountered or could be worked around with real IDL interfaces.
> ... shall i carry on? :)
>
>
While you have demonstrated to me that the dceidl IDL compiler is very
capable (and I did not doubt this), you still haven't demonstrated how
this can benefit the Wine project. Yes, we can generate our own
(probably) compatible client/server glue code (and this is ok for
library-implemented functions like the registry or service functions),
however we then lose focus on the applications for which we don't have
source code for and depend on rpcrt4 being implemented. This is the most
common use for Wine! If you have any ideas on how we can solve this,
please let me know.
Rob
More information about the wine-devel
mailing list