and it's slower (well, marginally) as well as uglier
(defun getLockedLayers1 (/ layNames)
(vlax-map-collection
(vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
'(lambda (x)
(if (= (vla-get-lock x) :vlax-true)
(setq layNames (cons (vla-get-name x) layNames))
)
)
)
(reverse layNames)
)
(defun getLockedLayers2 (/ layNames)
(vlax-for item (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(if (= (vla-get-lock item) :vlax-true)
(setq layNames (cons (vla-get-name item) layNames))
)
)
(reverse layNames)
)
(benchmark '((getLockedLayers1)
(getLockedLayers2)
)
)
;=> ("X_NoPlot" "x-T50" "x-T35" "x-T25")
Benchmarking [M.P. 2005 < revised kdub 2005>] ..........
Elapsed milliseconds for 128 iteration(s)/ relative Timing :
(GETLOCKEDLAYERS1).....1703 / 1.0185 <slowest>
(GETLOCKEDLAYERS2).....1672 / 1.0000 <fastest>