Hi all,
I'm having exactly the same problem using the .Object notation with .net controls.
We are using Infragistigs, but we don't want to buy the additional addin.
(If I buy a villa (=Mercury/HP), I like to have the swimming pool (=Infragistics) inclusive!!!).
And there are two things which are not working:
- The provided function(s) don't add a report entry to the qtp result => Difficult run analyzing
- The UltraTabControl does not record any actions on a tab control.
1. I tried the XML extension, but with that the ReplayReportStep method hangs up, when I use descriptive programming (using the object repository works)!! And I can't get a return value from the called .net function/method back to QTP.
2. I tried the .Object notation, but I can't SET a runtime property. GETTING the value from the properties works allways.
It seems that it’s not possible to set a property inside an item/collection (tested with normal windows form).
I can only set runtime properties that are directly under the testobject where I use the .Object notation.
Here an example/solution with a Panels object:
Set oPanels=test_obj.Object.Controls
oPanels.Item(1).Collapsed=False => ERROR!
... Workaround...
sHandle=oPanels.Item(1).Handle
Set oItem=test_obj.SwfObject("hwnd:="+sHandle).Object
oItem.Collapsed=False => WORKS FINE!
I opened a case at HP but they could not help me...

3. So the last chance is using DLL's. I already had success to build my "Hello world" assembliy.
And I found out the way to get a string or string array back to QTP (at every place where void is used in the demo-project you can define a return value).
Now I have one question: Is it possible to build one single assembly to put in all methods from all used controls together in one DLL???
If yes-how?
Thanks in advance!
Daniel