Что ж, единственная цель, которую имеет SaveDialog, - это предоставление имени файла, поэтому очевидный короткий ответ: не используйте SaveDialog.
Но если вы хотите принять во внимание все параметры SaveDialog, то вам нужно проверить себя перед сохранением файла. Применяемые невизуальные параметры и ключевые процедуры, используемые для обработки этих параметров:
ofPathMustExist
: если False, тогда используйте ForceDirectories
ofFileMustExist
: если True, тогда используйте FileExists
ofNoReadOnlyReturn
: если True, тогда используйте FileIsReadOnly
ofNoDereferenceLinks
: использовать его в перевернутом виде в качестве параметра FollowLink в FileExists.
Все остальные применимые параметры (ofOverwritePrompt
= True, ofPathMustExist
= True, ofNoTestFileCreate
= False) сопоставляются с использованием блока try - кроме сохранения файла.