Forum Discussion

daianovich's avatar
daianovich
Occasional Contributor
12 years ago

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?

  • TanyaYatskovska's avatar
    TanyaYatskovska
    SmartBear Alumni (Retired)

    Hi Bulat,


     


    The Qt 4.8 module contains special libraries for a 64-bit OS. Did you copy them to the <TestComplete>\x64\Bin\Extensions folder?


    If you did, in which line do you get the error? I recommend that you contact our TestComplete Support team to solve the issue.


     

  • daianovich's avatar
    daianovich
    Occasional Contributor
    >Did you copy them to the <TestComplete>\x64\Bin\Extensions folder?

    Yes, I did.



    >
    in which line do you get the error?

    I get problems with accessing item:

    var item = model["item"]( row, cbColumn );

    item(row, count) gives me error.



    I will follow your advice and try to contact support team. Thank you.