Thread overview
Qt bindings with the D2 C++ compatibility
Mar 30, 2008
Raynor
Mar 30, 2008
Walter Bright
Mar 30, 2008
arnaud
March 30, 2008
I am trying to make a Qt binding for D. I tried the new C++ compatibility with D 2 but its very limited:
- No delegate to C++ methods in D so signals to and from C++ are impossibles
- We must declare all the methods of a C++ class and in the same order because apparently DMD rely on the order of the virtual table and not on the name mangling.

I know interfacing with C++ is partialy impossible but i want to know if  there are plans for improvement or if i can begin to bind Qt with a C interface.
March 30, 2008
Raynor wrote:
> I am trying to make a Qt binding for D. I tried the new C++ compatibility with D 2 but its very limited:
> - No delegate to C++ methods in D so signals to and from C++ are impossibles
> - We must declare all the methods of a C++ class and in the same order because apparently DMD rely on the order of the virtual table and not on the name mangling.

The name mangling gives no clue about the order in the vtbl[].


> I know interfacing with C++ is partialy impossible but i want to know if  there are plans for improvement or if i can begin to bind Qt with a C interface.

There aren't any plans at the moment for improving it.
March 30, 2008
Has nothing been planified for non static and non virtual functions?

Walter Bright a écrit :
> Raynor wrote:
>> I am trying to make a Qt binding for D. I tried the new C++ compatibility with D 2 but its very limited:
>> - No delegate to C++ methods in D so signals to and from C++ are impossibles
>> - We must declare all the methods of a C++ class and in the same order because apparently DMD rely on the order of the virtual table and not on the name mangling.
> 
> The name mangling gives no clue about the order in the vtbl[].
> 
> 
>> I know interfacing with C++ is partialy impossible but i want to know if  there are plans for improvement or if i can begin to bind Qt with a C interface.
> 
> There aren't any plans at the moment for improving it.