daianovich
12 years agoOccasional Contributor
Problems calling Qt functions in x64 Open Application
Hello, I test Qt4.8 application using Trial TestComplete 9.30 (I use Qt 4.8 support plugins).
My application is built as both x32 and x64 one. I have a project for each build.
There are problems in getting information from QTableView.
I know, that TC does not 'see' t this widget as a table but I use some helping code from support and it works pretty well.
But I need to get state of checkbox placed in table and I cannot do it.
Using data() of QModelIndex object, obtained by calling currentIndex() for selected cell does not give information needed (I used toString() and toBool() on returned value).
I found workaround accessing model:
var cbColumn = 1;
var model = NameMapping"][...]["Model"];
var index = tableMiniApps["currentIndex"]();
var row = index["row"]();
var item = model["item"]( row, cbColumn );
if ( item["checkState"]() === 2 ) success = true;
else success = false;
It works for x32 application but under x64 one it fails:
An exception occurred: 0xC0000005; class: ; description: ''
Why do some functions work well in x32 applications and do not work in x64 ones? Will you fix it?
My application is built as both x32 and x64 one. I have a project for each build.
There are problems in getting information from QTableView.
I know, that TC does not 'see' t this widget as a table but I use some helping code from support and it works pretty well.
But I need to get state of checkbox placed in table and I cannot do it.
Using data() of QModelIndex object, obtained by calling currentIndex() for selected cell does not give information needed (I used toString() and toBool() on returned value).
I found workaround accessing model:
var cbColumn = 1;
var model = NameMapping"][...]["Model"];
var index = tableMiniApps["currentIndex"]();
var row = index["row"]();
var item = model["item"]( row, cbColumn );
if ( item["checkState"]() === 2 ) success = true;
else success = false;
It works for x32 application but under x64 one it fails:
An exception occurred: 0xC0000005; class: ; description: ''
Why do some functions work well in x32 applications and do not work in x64 ones? Will you fix it?