IsDuplicate
property IsDuplicate: Boolean read write;
Example
procedure ScriptEvent(var Value: Variant);
begin
if Action <> nil then
if Action.Log <> nil then
Value := Action.Log.IsDuplicate
else
Value := False
else
Value := False;
end;
Usage
IsDuplicate tests for exact Duplicate status; assignments request Duplicate or OK but false does not normally clear the current type.
Additional Technical Info
IsDuplicate returns true only for exact overall flsDuplicate.
- Writing true requests
StatusType=Duplicate. It succeeds only when Duplicate's ordinal is greater than the current type. - Writing false requests StatusType=OK. The monotonic setter does not downgrade Duplicate or any higher type, although the separate Boolean Status is set true by the OK request.
Consequently, after IsDuplicate := False the IsDuplicate getter can still return true. Conversely, setting it true while already Cancelled/Error/Test/Highlight leaves the current type and returns false.
Assignment adds no Duplicate/OK message. Use the property primarily as an exact check; use the deliberate lifecycle/status-reset path when a reset is genuinely required.
Mutation is unsynchronised and can affect duplicate routing/audit.
Related entries
StatusType— ordinal escalation and Boolean Status inconsistency.IsCancelled— exceptional false-reset implementation.