Class TCasScriptValue

Unit

Declaration

type TCasScriptValue = class(TCasScriptExpression)

Description

This item has no description.

Hierarchy

Overview

Methods

Protected function CoreExecute: TCasScriptValue; override;
Public constructor Create(const AWriteable: boolean); virtual;
Public procedure AssignValue(Source: TCasScriptValue); virtual; abstract;

Properties

Public property Writeable: boolean read FWriteable write FWriteable;
Public property OwnedByParentExpression: boolean read FOwnedByParentExpression write FOwnedByParentExpression default true;
Public property Name: string read FName write FName;
Public property ValueAssigned: boolean read FValueAssigned write FValueAssigned default false;

Description

Methods

Protected function CoreExecute: TCasScriptValue; override;

This item has no description. Showing description inherited from TCasScriptExpression.CoreExecute.

More internal version of Execute.

This doesn't necessarily check floating-point exceptions. Execute actually calls CoreExecute and then ClearExceptions.

Also this doesn't try to convert EIntError and EMathError to ECasScriptAnyMathError. This is done by Execute.

When one CastleScript CoreExecute calls another function, it can use CoreExecute instead of Execute. This way only one ClearExceptions will be needed for whole expression execution, instead of doing ClearExceptions after each function handler.

Public constructor Create(const AWriteable: boolean); virtual;

This item has no description.

Public procedure AssignValue(Source: TCasScriptValue); virtual; abstract;

Assign value from Source to Self.

Exceptions raised
ECasScriptAssignError
if assignment is not possible because types don't match.

Properties

Public property Writeable: boolean read FWriteable write FWriteable;

Is this value writeable. If not, this will not be allowed to change by CastleScript assignment and such functions. Note that Writeable = False will not prevent you from changing value internally, by AssignValue or changin Value property directly (that would be too uncomfortable).

Public property OwnedByParentExpression: boolean read FOwnedByParentExpression write FOwnedByParentExpression default true;

This item has no description.

Public property Name: string read FName write FName;

Name of this value, or '' if not named. Named value can be recognized in expressions by CastleScriptParser.

Public property ValueAssigned: boolean read FValueAssigned write FValueAssigned default false;

Set to True on each assign to Value. You can reset it at any time to False.

This allows the caller to know which variables were assigned during script execution, which is useful if changes to CastleScript variables should be propagated to some other things after the script finished execution. This is essential for behavior in VRML/X3D Script node.

Descendants note: you have to set this to True in SetValue.


Generated by PasDoc 0.16.0-snapshot.