Это зависит от того, как другой процесс открыл файл ... Если он открыл файл исключительно, у вас ничего не получится.
А TextFile - это старая шляпа, я думаю, она откроется в эксклюзивном режиме, чтобы быть совместимой с DOS старого стиля. Вы должны использовать TFileStream или аналогичный.
TStringList также может работать, опять же, в зависимости от того, что делает другой процесс. Но если файл записывается (например, файл .log), fmShareDenyWrite не будет работать.