Yep, the pointer "looks" fine in the debugger... Though I did find an article, that it sounds like using it in Qt with SQLITE3 setup to support multithreading could be the issue...
So it may take a recompile of QtSql :( Scott -----Original Message----- From: interest-bounces+scott.bloom=onshorecs....@qt-project.org [mailto:interest-bounces+scott.bloom=onshorecs....@qt-project.org] On Behalf Of Rainer Wiesenfarth Sent: Tuesday, August 14, 2012 5:21 AM To: interest@qt-project.org Subject: Re: [Interest] Sqlite3 handler access Am 14.08.2012 13:52, schrieb Constantin Makshin: > Don't use the undocumented QVariant::data() method designed for some > Qt's internal purposes. Use QVariant::value(): > > sqlite3* handler = v.value<sqlite3*>(); However, Scott's code fragment is almost identical to the one in the QSqlDriver::handle() documentation, so if this does not work, the docs should be updated... Scott: Did you try something simpler than creating a function with the returned handler? I am not familiar with the sqlite API, but there should be some trivial call that would verify that the handler is valid. And does *handler look reasonable when viewed in a debugger? > On Mon, Aug 13, 2012 at 10:16 PM, Scott Aron Bloom > <scott.bl...@onshorecs.com> wrote: >> { >> QVariant v = db.driver()->handle(); >> if ( !v.isValid() || qstrcmp( v.typeName(), "sqlite3*" ) != 0 ) >> { >> return false; >> } >> >> sqlite3 * handler = *static_cast<sqlite3**>( v.data() ); >> if ( !handler ) >> return false; >> >> ... >> } Best Regards / Mit freundlichen Grüßen Rainer Wiesenfarth -- Tel.: +49 (0)711 22 88-10 * Fax: +49 (0)711 22 88-111 Web: http://www.trimble.com/geospatial/ * http://www.inpho.de/ Trimble Germany GmbH * Branch office Stuttgart Rotebühlstraße 81 * 70178 Stuttgart * Germany Commercial register: HRB 83893, Darmstadt Managing Directors: Dr. Frank Heimberg, Hans-Jürgen Gebauer _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest