I'm not sure about the version of the compiler in use -- I'll find out next time I'm up there though. If a newer version has these things fixed, I'll certainly be fetching it. The initialization issues alone would be justification enough.
As for Qt reinventing the wheel, I agree completely. I wouldn't mind as much though if the wheel was round instead of rectangular... :) In all seriousness, however, the SQL database stuff kinda has to be there else databinding would be an absolute nightmare. The QString stuff, though, bothers me. It would certainly have been easy enough for them to use std::string. I think the main reason they didn't had something to do with the QVariant -- but that's so munged they shouldn't have bothered. Ciao, Dee -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Paul Grenyer Sent: Monday, March 22, 2004 1:57 PM To: [EMAIL PROTECTED] Subject: Re: [OT] gcc & QT (was Re: RE: [msvc] using bit fields) Hi > The use of Qt I've dealt with is exclusively under Linux so anything > specific to Windows use I cannot say. As for Qt's problems in general, how > about these: > > 1. The QVariant type can't handle a NULL value. > 2. The QSqlQuery class's value() method doesn't support column names > (ordinal only). What was I saying about reinventing the wheel? ;-) The above don't sound like parts of a GUI. I beleive that libraries should do one thing and do it well. Therefore, GUI libraries should not have thier own string type, or thier own database access stuff or thier own COM/Corba stuff. > Oh, the other problem with GCC. A call was made like so: > > QString cname = getCompanyName(cname); > > And the compiler gleefully passed the address of an uninitialized 'cname' > variable without so much as a warning message. Surprised me since it > incessantly warns you about the phase of the moon and not holding your mouth > right. Before you ask, there is no other 'cname' variable within the source > or it's includes and only one other reference at all. Wow! Which version was it?
