Skip to main content

DoMoveToError

property DoMoveToError: Boolean read write;

Example

procedure ScriptEvent(var Value: Variant);
begin
if FileCon <> nil then
Value := FileCon.DoMoveToError
else
Value := False;
end;

Usage

DoMoveToError gets or sets the one-shot runtime latch for moving the current file to the configured error directory.

Consumer behaviour

Velox move-to-error requires a nonempty current path and true latch, then clears the latch before processed-path equality, existence, destination, lock and move checks. Unlike audit/transport routing, it is designed to run when the shared log is already false. A missing source is silently ignored to avoid a second error after a failed write.

The consumer may create the destination, wait for the file lock, move with cross-volume/unique-or-replace policy and update a log-file event when a log reference exists. The latch says none of those outcomes occurred.

Additional Technical Info

DoMoveToError is the runtime latch checked when failure finalisation may route CurrentFileName to ErrorDir.

Reset sets it True so an error normally attempts cleanup/routing. File engines can clear it when no physical output file was created. The scripting setter directly changes the Boolean and performs no I/O.

Risks and interactions

  • Setting false can leave a failed input/output in its current location; setting true can move an unrelated/stale path.
  • Consumption is one-shot even if the source is missing or the move fails.
  • It is independent of audit/transport latches; conflicting script assignments can create multiple finalisation attempts.
  • Routing is an external filesystem effect and is not undone by database/action rollback.
  • Assignment does not persist configuration or itself change Log.Status/FileEvent.

Performance and concurrency

Access is cheap; later routing can block. Treat the latch and current path as one action-thread state machine.

Related entries

Created 2026-07-15