http://wiki.lazarus.freepascal.org/IDE_Window:_Variable_Inspector

Lazarus 1.3 only:
Now allows to double click on rows, if you look at a class or record. It will then display this member (in full, not just the address / that is, if it is of any type that can be displayed)
Same for pointers. They will be derefed.

Useful for looking at TList.
TList has an FList:TFPList,
which as an FList: PPointerList.

You can click through, deref the pointer, and you get the address of the entry at index 0.
The watch expression will look like: (with more added typecast, if needed)
  PPOINTERLIST(MyList.FCHILDREN.FLIST.FLIST)[0]

All you need to do, is add a typecast.
For any object, you can use TObject, and tell the debugger to find the class. (there is a toggle button "Instance")
  TObject(PPOINTERLIST(MyList.FCHILDREN.FLIST.FLIST)[0])

Getting the 2nd or 3rd element from the list can be done by editing the index.


There is a back button, to return to the previous viewed expression. (mouse button 4 will also do / except, if the current expression has no displayable result, that is because pagecontrol then does not trigger the click event)

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to