[Mono-list] Fwd: Possible replacement for Windows.Forms
16 Jul 2002 23:12:55 -0500
This is why I think reimplementing wxWindows would be better. It would
also not add additional requirements. It would compile against
something the user should have (GTK+, Xlib, Motif, Aqua, Carbon, etc.)
Of course, this runs into the problem of having to maintain the code
changes wxWindows has.
I'm just waiting for someone to say adding LGPL classes would be okay in
the BSD tree.
What do other people think about this approach? I'd like to have a
cross-platform GUI, but I want to know what people think first.
Especially if I'll have to go through all this stuff w/ making a C# dll
that platform invokes an externally C dll and internally C++ dll that
calls C++ dll (can anyone else say icky)
On Tue, 2002-07-16 at 22:05, murban wrote:
> Have you looked at some of the other bindings that call C++ from C#? One
> example is Qt#. It's a work in progress, but the basic concepts of using a
> C++ based toolkit from C# are working. There are many other examples, such as
> WxPython and QtJava.
> The bindings that I have looked at use a two-level approach. The first level
> is a set of C functions. There are one or more C functions that perform 'new
> WhateverObject' and then return the result, and there are other C functions
> that simply call the C++ function. Thiis lower level is compiled #extern "C"
> so that name mangling is not performed. The second level consists of a set of
> C# methods that call the C functions. In the case of Qt#, the C functions are
> provided by another library QtC.
> I believe it is possible to minimize (probably not eliminate) the C layer, but
> the C functions that perform the 'new' for C++ objects are difficult to
> eliminate. The other two complications of calling C++ directly are that the
> compiler does name-mangling on the C++ methods, and the fact that virtual
> methods only appear as methods on the base class.
> > I have been looking at wxWindows for quite some time. I don't
> > think I personally want to deal with importing C++ classes and looking
> > at them as structs. This seems very, very painful. Unless someone can
> > explain an easier way to platform invoke these, I don't think this will
> > work.
> Mono-list maillist - Monoemail@example.com