Hello,
I find TSaveDialog has an inconsistency or perhaps a bug, at least under linux (never tried elsewhere). When DefaultExt is set, say, to ".txt", and the option ofOverwritePrompt is on, a user can write for example "atextfile" in the file name (first field of the dialog) and press Enter. If a file "atextfile.txt" exists, NO overwrite warning is triggered by the dialog. The application receives the filename, and overwrites it.
So I implemented my own overwrite check in pascal code. BUT now, if I want to overwrite an existing file, I receive TWO warnings, one from the dialog, and one from my program. Given this, I should unset the ofOverwritePrompt, now useless.
What happens is, I think, that TSaveDialog FIRST checks for overwriting, THEN appends the default extension specified in the properties. If it is so, then it is probably a bug.