Difference between revisions of "IDE Window: Evaluate/Modify"

From Lazarus wiki
Jump to navigationJump to search
Line 10: Line 10:
 
[[File:EvaluateModify.png]]
 
[[File:EvaluateModify.png]]
  
* TODO
+
=== Interface ===
 +
;Evaluate: Evaluates the given expression
 +
 
 +
;Modify: When the new values is set, it assigns the new value to the expression. The expression can only be a property or a variable. (Read notes on "New Value")
 +
 
 +
;Watch: Add the expression to the [[IDE Window: Watch list|watch list]]
 +
 
 +
;Inspect: Show the [[IDE Window:Variable Inspector|variable inspector]] for the expression. The expression can only be a property or a variable.
 +
 
 +
;Use Instance class type: Objects are normally shown according to the declaration of the watched expression. Evaluating "Sender: TObject" will only show you data, that is declared in TObject. However object variables can contain objects of inherited classes. Sender may be a TForm. Using this the debugger will find the actual class of the object and display all data.
 +
 
 +
=== Data ===
 +
 
 +
;Expression: Enter the expression to be evaluated/modified/watched/inspected here
 +
 
 +
;Result: The result of the evaluation. If the evaluation of the expression failed, an error message is shown.
 +
 
 +
;New Value: The new value you want to use for a variable or property.
 +
 
 +
Important note on "New Value":
 +
:You should not attempt to modify "managed" types (strings, dynamic-array). This will lead to memory corruption.
 +
:There is currently no safety check in place. So you must ensure this yourself.

Revision as of 10:09, 20 June 2012


Important

You must setup the debugger and start the project to debug it. Only then this window will be useful.

Evaluate/Modify

EvaluateModify.png

Interface

Evaluate
Evaluates the given expression
Modify
When the new values is set, it assigns the new value to the expression. The expression can only be a property or a variable. (Read notes on "New Value")
Watch
Add the expression to the watch list
Inspect
Show the variable inspector for the expression. The expression can only be a property or a variable.
Use Instance class type
Objects are normally shown according to the declaration of the watched expression. Evaluating "Sender: TObject" will only show you data, that is declared in TObject. However object variables can contain objects of inherited classes. Sender may be a TForm. Using this the debugger will find the actual class of the object and display all data.

Data

Expression
Enter the expression to be evaluated/modified/watched/inspected here
Result
The result of the evaluation. If the evaluation of the expression failed, an error message is shown.
New Value
The new value you want to use for a variable or property.

Important note on "New Value":

You should not attempt to modify "managed" types (strings, dynamic-array). This will lead to memory corruption.
There is currently no safety check in place. So you must ensure this yourself.