[Kde-bindings] Qyoto ARGB windows using C++ QApplication hack: crashes

Arno Rehn arno at arnorehn.de
Sun Mar 2 11:38:15 UTC 2008


Am Sonntag 02 März 2008 08:08:12 schrieb William Lahti:
> >  Originally I wanted C++ namespaces to be converted to C# partial
> > classes, too, so that the C# API would more resemble the C++ one (e.g.
> > that you could write Kimono.KIO.SomeMethod() )
> > but that lead to the gmcs crash we talked about a
>
> Abusing partial classes in that way is a bad idea. If you think about
> it, you would be forced to refer to any classes in the KIO namespace
> using the KIO identifier like this:
>
> new KIO.SomeKlass ()
>
> There would be no way to do:
>
> using Kimono.KIO;
Yes, that's one of the reasons I dropped this idea again.

> ...because your C# compiler would complain that KIO is a class. Is
> that what you mean by by gmcs crash?
No, with gmcs crash I mean a real crash - I got a 
System.NullReferenceException while compiling. After discussing on mono-devel 
I filed a bug on the mono-bugzilla.

> >  few weeks ago. Now there is an extra class for the namespace methods if
> > there are any. So you have to write Kimono.KIO.KIONamespace.SomeMethod()
> > if you want to access a method that's in the original C++ KIO namespace.
> > This 'new' naming scheme is not applied to the Qt classes to keep the old
> > API and old code working
>
> I think the Qyoto.Qt class works quite well for Qt's purposes...
> unfortunately such a setup doesnt apply for KDE considering it's
> namespaces. I'm not a fan of the "Namespace" suffix as it is big and
> unwieldy.... maybe Kimono.KIO.KIOGlobal instead? It would at least
> shave 3 letters off..
I'm not too happy with the new names, too. Maybe Kimono.KIO.KIOGlobal or 
simply Kimono.KIO.Global as Richard suggested would be better.


-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list