I am using eXPress++ (c) Version 2.0 Build 262
I have a WTF that shows me an object. When inspecting the object I used to be able to double click any variable to see the value of it. At present, this does not do anything at all.
Did something change? Or is this only happening to me?
dc_inspectobject() - Object Inspector
dc_inspectobject() - Object Inspector
Regan Cawkwell
Real Business Applications Ltd
http://www.rbauk.com
Real Business Applications Ltd
http://www.rbauk.com
Re: dc_inspectobject() - Object Inspector
I have not made any functional changes to DC_InspectObject() in a very long time, with the exception that I added the ability to embed it in another window, such as the array browser. See attachment.
I think what you recall about double-clicking the value, was the behavior of WTF.
If you double-click the value in the WTF window, it will always bring up a viewer to see the value.
If the value is an array, it calls DC_ArrayView().
If the value is an object, it calls DC_InspectObject().
If the value is a character, it is shown in a MLE window.
If the value if a date, it is shown in a popup calendar.
If the value is a numeric, it is shown in a popup calculator.
DC_InspectObject() behaves a little differently. It only brings up a viewer for arrays and objects.
I can make the change to have it work exactly like WTF, and probably should.
I think what you recall about double-clicking the value, was the behavior of WTF.
If you double-click the value in the WTF window, it will always bring up a viewer to see the value.
If the value is an array, it calls DC_ArrayView().
If the value is an object, it calls DC_InspectObject().
If the value is a character, it is shown in a MLE window.
If the value if a date, it is shown in a popup calendar.
If the value is a numeric, it is shown in a popup calculator.
DC_InspectObject() behaves a little differently. It only brings up a viewer for arrays and objects.
I can make the change to have it work exactly like WTF, and probably should.
The eXpress train is coming - and it has more cars.
Re: dc_inspectobject() - Object Inspector
The object variable that I tried to look at was an array. But I could not see it. Even if I used:
WTF oSupStock:aVendor
The WTF did not show me anything. Even a double click on that WTF line would not work. Interestingly, the following did work:
WTF aclone(oSupStock:aVendor)
but that would get long winded if I had to view the contents of more than one array in the object.
WTF oSupStock:aVendor
The WTF did not show me anything. Even a double click on that WTF line would not work. Interestingly, the following did work:
WTF aclone(oSupStock:aVendor)
but that would get long winded if I had to view the contents of more than one array in the object.
Regan Cawkwell
Real Business Applications Ltd
http://www.rbauk.com
Real Business Applications Ltd
http://www.rbauk.com
Re: dc_inspectobject() - Object Inspector
AHA!!! That says a lot.Interestingly, the following did work:
WTF aclone(oSupStock:aVendor)
When you are using WTF to view an array, the browse window only contains a pointer to that array. This is also true for an object.
Therefore, if you double click the value, the contents of the array may have changed before you clicked.
Try this little test:
aDir := Directory()
WTF aDir
ASize(aDir,0)
If you click on aDir in the WTF window it will be an empty array.
When you used Aclone(), you created a new pointer to the original array so anything you do afterwards will not affect it.
If you can try to put a PAUSE in the WTF command so you can observer the array contents in real time.
The eXpress train is coming - and it has more cars.
Re: dc_inspectobject() - Object Inspector
Ok, I get that. Makes sense.rdonnay wrote:AHA!!! That says a lot.Interestingly, the following did work:
WTF aclone(oSupStock:aVendor)
When you are using WTF to view an array, the browse window only contains a pointer to that array. This is also true for an object.
Therefore, if you double click the value, the contents of the array may have changed before you clicked.
Try this little test:
aDir := Directory()
WTF aDir
ASize(aDir,0)
If you click on aDir in the WTF window it will be an empty array.
When you used Aclone(), you created a new pointer to the original array so anything you do afterwards will not affect it.
If you can try to put a PAUSE in the WTF command so you can observer the array contents in real time.
I just don't understand why have I not noticed this before. With an array it's easy to overcome with aclone() but objects are a different kettle of fish.
Thanks.
Regan Cawkwell
Real Business Applications Ltd
http://www.rbauk.com
Real Business Applications Ltd
http://www.rbauk.com
-
- Posts: 147
- Joined: Thu Jan 28, 2010 9:24 am
- Location: Nitra, Slovakia
- Contact:
Re: dc_inspectobject() - Object Inspector
Hi Roger,
so, if you could make change default behavior for showing debugged arrays to automatically convert it before showing with AClone() function,
it will be perfect
Zdeno
When you used Aclone(), you created a new pointer to the original array so anything you do afterwards will not affect it.
this is exactly way how I use it, but when there are many or more „wtf ... pause“ comnands, it slows down debug proccessIf you can try to put a PAUSE in the WTF command so you can observer the array contents in real time.
so, if you could make change default behavior for showing debugged arrays to automatically convert it before showing with AClone() function,
it will be perfect
Zdeno
Re: dc_inspectobject() - Object Inspector
I would not want to do this automatically.if you could make change default behavior for showing debugged arrays to automatically convert it before showing with AClone() function, it will be perfect
It would consume a lot of memory when observing large arrays.
I prefer that the programmer decide whether or not to use AClone.
The eXpress train is coming - and it has more cars.