I encountered one problem during automation.
I have following statement

'code to expand grid 1

'code to expand grid 2

Note--There is only grid object as one grid can be expanded at time and one obejct can be used to refer to all.

My expected result is--
1.QTP should set rowcount1 to 6 as first grid has 6 rows and rowcount2 should have value 15.
2.But what happens is it sets both variable to 6.

After investigation we found that QTP is retaining rowcount of grid that was encountered first. What I did further is after getting rowcount1,I disassociated OR from test.But still we get rowcount as 6 for rowcount2.This was surprize but this means QTP does not refer OR when it encounter same object(here sfwGrid-name),it refer data from cache(Guess)..

I could resolve problem using Descriptive programming as each time QTP finds object on screen using description provided.

I just want to confirm whether QTP store object in cache when encounter for first time? If yes how to clear this cache?